Python 离线打印模板-it';有可能吗?
我正在使用Python Plotly图表库,以便从我的Python Django web应用程序构建图形,并将其注入模板,如下所示: 视图: 模板:Python 离线打印模板-it';有可能吗?,python,plotly,Python,Plotly,我正在使用Python Plotly图表库,以便从我的Python Django web应用程序构建图形,并将其注入模板,如下所示: 视图: 模板: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>test
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>test</title>
</head>
<body>
{% autoescape off %}
{{ plot_div }}
{% endautoescape %}
</body>
</html>
测试
{%autoescape off%}
{{plot_div}}
{%endautoescape%}
这些代码行生成了一个简单的散点图,并将其显示给客户端模板,现在我想使用另一个主题模板,如文档()中所述,Plotly有许多默认模板可供使用,但我不知道如何在脱机图表视图渲染器中使用它们。如何在图形中使用
plotly_white
模板 好的,在尝试了很多方法之后,我找到了一个解决方案
基本上,我们需要:
- 构建轴对象
- 使用定义轴字典和要使用的模板的
对象创建布局模板
- 创建包含带有轴和自定义布局的图形的地物对象
- 将图表打印到div容器
import numpy as np
import plotly.graph_objs as go
from plotly.offline import plot
def plot1d():
x_data = np.arange(0, 120, 0.1)
trace1 = go.Scatter(
x=x_data,
y=np.sin(x_data),
)
trace2 = go.Scatter(
x=x_data,
y=np.cos(x_data),
)
data = [trace1, trace2]
layout = go.Layout(
# autosize=False,
# width=900,
# height=500,
template='plotly_dark',
xaxis=dict(
autorange=True
),
yaxis=dict(
autorange=True
)
)
fig = go.Figure(data=data, layout=layout)
plot_div = plot(fig, output_type='div', include_plotlyjs=False)
return plot_div
最后的结果是:
import numpy as np
import plotly.graph_objs as go
from plotly.offline import plot
def plot1d():
x_data = np.arange(0, 120, 0.1)
trace1 = go.Scatter(
x=x_data,
y=np.sin(x_data),
)
trace2 = go.Scatter(
x=x_data,
y=np.cos(x_data),
)
data = [trace1, trace2]
layout = go.Layout(
# autosize=False,
# width=900,
# height=500,
template='plotly_dark',
xaxis=dict(
autorange=True
),
yaxis=dict(
autorange=True
)
)
fig = go.Figure(data=data, layout=layout)
plot_div = plot(fig, output_type='div', include_plotlyjs=False)
return plot_div