我正在使用plotly offline并且能够使用生成html文件
plotly.offline.plot({"data": data, "layout": layout})
Run Code Online (Sandbox Code Playgroud)
它很棒.图表生成正确,html文件保存到我当前的目录.
我想要的是,使用绘图离线,可以保存图像(.png,.jpg等)文件.我是在正确的轨道上吗?从这里我需要做什么?
我想创建一个仪表板,我可以使用该库分析一下我的模型数据(文章)plotly.
Plotly条形图没有显示在我的模板上,我想知道我是否做错了,因为下面的代码没有错误:
models.py
from django.db import models
from django.contrib.auth.models import User
import plotly.plotly as py
import plotly.graph_objs as go
class Article(models.Model):
user = models.ForeignKey(User, default='1')
titre = models.CharField(max_length=100, unique=True)
slug = models.SlugField(max_length=40)
likes = models.ManyToManyField(User, related_name="likes")
def __str__(self):
return self.titre
@property
def article_chart(self):
data = [
go.Bar(
x=[self.titre], #title of the article
y=[self.likes.count()] #number of likes on an article
)
]
plot_url = py.plot(data, filename='basic-bar')
return plot_url
Run Code Online (Sandbox Code Playgroud)
dashboard.html
<div>{{ article.article_chart }}</div>
Run Code Online (Sandbox Code Playgroud)
为什么条形图不可见?有什么建议吗?
我一直在尝试使用Jupyter笔记本中的Plotly(版本1.12.9)制作一个自定义大小的子网格网格(离线).Plotly网站上有很好的例子,但所有这些都是分散的情节.我修改了其中一个,使它看起来像我想要的那个,它适用于散点图:
import plotly
import plotly.offline as py
import plotly.graph_objs as go
py.init_notebook_mode(connected=True)
labels = ['Oxygen','Hydrogen','Carbon_Dioxide','Nitrogen']
values = [4500,2500,1053,500]
trace0 = go.Scatter(x=[1, 2], y=[1, 2])
trace1 = go.Scatter(x=[1, 2], y=[1, 2])
trace2 = go.Scatter(x=[1, 2], y=[1, 2])
trace3 = go.Scatter(x=[1, 2], y=[1, 2])
trace4 = go.Scatter(x=[1, 2], y=[1, 2])
trace5 = go.Scatter(x=[1, 2], y=[1, 2])
fig = plotly.tools.make_subplots(
rows=3,
cols=3,
specs=[[{}, {}, {}], [{}, {'colspan': 2, 'rowspan': 2}, None], [{} , None, None]],
subplot_titles=('First Subplot','Second Subplot', 'Third Subplot')
)
fig.append_trace(trace0, 3, …Run Code Online (Sandbox Code Playgroud) 我最近更新了R和Rstudio,现在我写的脚本很多都被打破了.
特别是导致我问题的一件事是下面的脚本.以前,用于输出热图正是因为它出现在我给它做矩阵值的CSV.现在,后来的版本似乎改变了他们订购的方式.它现在按升序数字顺序排列列及其标签,这使它们无序.如何防止它重新排列列,或指定它按照我提供的方式处理它们?
次要的美学问题并不是一个问题.
这是代码:
library(ggplot2)
library(plotly)
library(RColorBrewer)
# Read in data
library(readr)
adjwallace <- read.csv() # see the link for the actual data http://pastebin.com/bBLs8uLt
rownames(adjwallace_recluster)[17] <- "Species" #Rename STree
names(adjwallace_recluster)[17] <- "Species"
# Preferences for xaxis
font.pref <- list(
size = 20,
family = "Arial, sans-serif",
color = "black"
)
x.axisSettings <- list(
title = "",
zeroline = FALSE,
showline = FALSE,
showticklabels = TRUE,
tickfont = font.pref,
showgrid = TRUE
)
# Preferences for yaxis
y.axisSettings <- …Run Code Online (Sandbox Code Playgroud) 我试图在 plotly,python 中绘制堆叠条形图时自定义图例的顺序。
data = [
go.Bar(
y=df['sid'], # assign x as the dataframe column 'x'
x=df['A'],
orientation='h',
name='A'
),
go.Bar(
y=df['sid'],
x=df['B'],
orientation='h',
name='B'
),
]
layout = go.Layout(
barmode='stack',
title=f'{measurement}',
xaxis=dict(
title='Count',
dtick=0),
yaxis=dict(
tickfont=dict(
size=10,
),
dtick=1)
)
fig = go.Figure(data=data, layout=layout)
plot(fig, filename='plot.html')
Run Code Online (Sandbox Code Playgroud)
图例的顺序以相反的顺序出现(即从下到上)。我想将data.
我看到了此处为 java建议的选项。不确定如何在python中实现。
有人可以建议如何颠倒顺序吗?
编辑:在生成的图像中,图例的顺序是
B
A
Run Code Online (Sandbox Code Playgroud)
所需订单:
A
B
Run Code Online (Sandbox Code Playgroud) 这个问题早些时候被标记为如何制作好的可重复的熊猫示例的副本。对于任何寻求制作此类可重复数据样本的人来说,该贡献无疑应该是首选帖子,而这篇文章旨在阐明一种非常实用且有效的方法,将给定的数据样本包含df.to_dict()在与df=pd.DataFrame(<dict>). How to make good reproducible pandas examples 中的问题和答案都没有明确涵盖这一点。Usingdf.to_dict()也可以很好df.to_clipboard()地与 结合使用,在文章How to provide a reproducible copy of your DataFrame with to_clipboard()中进行了简明扼要的介绍
尽管有关于如何提出好问题的清晰简明的指导?以及如何创建最小的、可重现的示例,许多人似乎只是忽略了在他们的问题中包含可重现的数据样本。那么,当简单pd.DataFrame(np.random.random(size=(5, 5)))还不够时,有什么实用且简单的方法来重现数据样本呢?例如,您如何使用df.to_dict()并将输出包含在问题中?
如何在同一页面的图片中添加多个图形显示?我正在尝试将 html.Div 组件添加到以下代码中以更新页面布局以在单个页面上添加更多类似的图形,但是这些新添加的图形不会显示在页面上,只能在图片中显示旧图形。我应该修改什么元素,比如说在浏览器的 dash 应用程序的单页上添加 3 次在上传的图像中显示的图形?
import dash
import dash_core_components as dcc
import dash_html_components as html
i[enter image description here][1]mport plotly.express as px
import pandas as pd
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
# assume you have a "long-form" data frame
# see https://plotly.com/python/px-arguments/ for more options
df = pd.DataFrame({
"Fruit": ["Apples", "Oranges", "Bananas", "Apples", "Oranges", "Bananas"],
"Amount": [4, 1, 2, 2, 4, 5],
"City": ["SF", "SF", "SF", "Montreal", "Montreal", "Montreal"]
})
fig = px.bar(df, x="Fruit", y="Amount", …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种解决方案来避免文本标签中的文本重叠。我用散点图创建图像。也许这里有自动化。
from pandas import util
import plotly.express as px
import plotly.graph_objects as go
df = util.testing.makeDataFrame()
df_keyfigures_all = df[['A','B']]
fig = px.scatter(df_keyfigures_all, x="A", y="B",size_max=60,
text=df_keyfigures_all.index)
fig.update_traces(textposition='top center')
fig.layout = go.Layout(yaxis=dict(tickformat=".0%"), xaxis=dict(tickformat=".0%"),
yaxis_title="A", xaxis_title="B")
fig.update_layout(showlegend=False)
plotly.io.write_image(fig, file='keyfigures.png', format='png')
Run Code Online (Sandbox Code Playgroud)
执行以下代码时出现以下错误:
代码:
from fbprophet.plot import plot_plotly, plot_components_plotly
错误:
Importing plotly failed. Interactive plots will not work.
plotly ×10
python ×9
html ×2
bar-chart ×1
django ×1
image ×1
legend ×1
pandas ×1
plotly-dash ×1
python-2.7 ×1
python-3.x ×1
r ×1
scatter-plot ×1