下图是我尝试在Python中使用Plotly(最底层的代码)来做2x2绘图.

我正在尝试改进图表,但我似乎无法做到以下几点:

任何帮助将非常感激.以下是我的代码.
import plotly.offline as poff
import plotly.tools as tls
x = list(range(10,20))
y = x
y1 = [10-i for i in x]
y2 = [abs(i-5) for i in x]
y3 = [abs(2*i- 5) for i in x]
fig = tls.make_subplots(rows=2, cols=2, shared_xaxes=True, shared_yaxes=True,
vertical_spacing=0.01,
horizontal_spacing=0.01, print_grid=True)
fig.append_trace(go.Scatter({'x':x, 'y':y, 'name':'A1'},), 1, 1)
fig.append_trace(go.Scatter({'x':x, 'y':y1, 'name':'B2'},), 2, 2)
fig.append_trace(go.Scatter({'x':x, 'y':y2, 'name':'A2'},), 2, 1)
fig.append_trace(go.Scatter({'x':x, 'y':y3, 'name':'B1'},), 1, 2)
fig['layout'].update(title='Multiple Subplots')
url = poff.plot(fig, filename="test23.html")
Run Code Online (Sandbox Code Playgroud) 已经存在一些讨论使用cProfile进行python分析的帖子,以及由于以下示例代码中的输出文件统计信息不是纯文本文件而导致的分析输出的挑战。下面的代码片段只是docs.python.org/2/library/profile中的一个示例,不能直接复制。
import cProfile
import re
cProfile.run('re.compile("foo|bar")', 'restats')
Run Code Online (Sandbox Code Playgroud)
这里有一个讨论:使用cProfile将python脚本分析到一个外部文件中,并且在docs.python.org上有更多有关如何使用pstats.Stats分析输出的详细信息(仍然只是一个示例,并且不可重现):
import pstats
p = pstats.Stats('restats')
p.strip_dirs().sort_stats(-1).print_stats()
Run Code Online (Sandbox Code Playgroud)
我可能在这里错过了一些非常重要的细节,但是我真的很想将输出存储在pandas DataFrame中并从那里做进一步的分析。
我认为这将非常简单,因为iPython运行中的输出cProfile.run()看起来很整洁:
In[]:
cProfile.run('re.compile("foo|bar")'
Out[]:
Run Code Online (Sandbox Code Playgroud)
关于如何以相同格式将其放入pandas DataFrame的任何建议?
我tbl_A and tbl_B在Power BI文件中有两个表,我想使用其中的Run R Script功能进行转换和分析Edit Queries.
这将包括处理缺失值和连接表.但是,在启动R时,似乎我一次只能在一个表上进行操作.这是因为该Run R Script功能仅导入单击Run R Script按钮时处于活动状态的表中的数据.然后将该数据存储在dataset变量中.
如果这是正确的,在我看来,在Power BI中R`的实际使用将非常有限.我知道我可以在释放R 之前加入表格.对于像这样的简单情况,这将是一个可行的解决方案,但肯定不适用于更复杂的数据结构.有关如何在Power BI中使用R对多个表进行操作的任何建议?
我正在尝试绘制时间序列数据,并希望 x 轴只是月和日。Plotly 要求格式为yyyy-mm-dd,但我有几年内数据集的每日平均值,所以我只想mm-dd在 x 轴上绘图。当我发送一个日期时间时,mm-dd它假设mm是年份。我可以让它绕过一年而只需要mm-dd吗?
df_en_ave1.index = df_en_ave1.index.strftime('%m-%d') #convert my index to month and day datetime
trace1=go.Scatter(x=df_en_ave1.index, y=df_en_ave1.evap) #need to bypass year in date here somehow
data = [trace1]
plotly.offline.iplot(data)
Run Code Online (Sandbox Code Playgroud) 问题:
重新安装Anaconda之后,我将无法再使用命令窗口导航到一个文件夹,在该窗口中我有一些.pynb文件,键入文件jupyter notebook并启动并运行。我收到这些错误:
C:\ scripts \ notebooks> jupyter笔记本Traceback(最近一次通话最近):文件“ C:\ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ notebook \ services \ sessions \ sessionmanager.py” ,从sqlite3.dbapi2 import导入sqlite3文件“ C:\ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ sqlite3__init __。py”的第10行,导入*文件“ C:\ Users \ MYUSERID \ AppData \ Local \ Continuum \ anaconda3 \ lib \ sqlite3 \ dbapi2.py”,第27行,来自_sqlite3 import * ImportError:DLL加载失败:找不到Procedyre
在处理上述异常期间,发生了另一个异常:
回溯(最近一次通话):文件“ …
我正在从 Anaconda 运行 JupyterLab,并使用以下命令安装了JupyterLab 绘图扩展:
conda install -c conda-forge jupyterlab-plotly-extension
Run Code Online (Sandbox Code Playgroud)
显然,安装成功了,但仍然有问题。启动 JuyterLab 时,我收到此提示:
单击BUILD给我这个:
然后单击RELOADrelods JupyterLab,但我再次收到此消息:
它不停地旋转。有谁知道为什么?
单击CANCEL也无济于事,因为绘图不会产生任何绘图,只会产生空格:
来自plotly 文档:
布局 > xaxis > tickvals:
设置此轴上出现刻度的值。仅当
tickmode设置为“数组”时才有效。与 一起使用ticktext。布局 > xaxis > 刻度文本:
通过 设置在刻度位置显示的文本
tickvals。仅当tickmode设置为“数组”时才有效。与 一起使用tickvals。
例子:
import pandas as pd
import numpy as np
np.random.seed(42)
feature = pd.DataFrame({'ds': pd.date_range('20200101', periods=100*24, freq='H'),
'y': np.random.randint(0,20, 100*24) ,
'yhat': np.random.randint(0,20, 100*24) ,
'price': np.random.choice([6600, 7000, 5500, 7800], 100*24)})
import plotly.graph_objects as go
import plotly.offline as py
import plotly.express as px
from plotly.offline import init_notebook_mode
init_notebook_mode(connected=True)
y = feature.set_index('ds').resample('D')['y'].sum()
fig …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用注释来显示条形图之间的差异。具体来说,显示所有条形与第一个条形之间的差异。
我的代码如下所示:
import plotly.graph_objects as go
lables = ['a','b','c']
values = [30,20,10]
difference = [ str(values[0] - x) for x in values[1:] ]
fig = go.Figure( data= go.Bar(x=lables,y=values,width = [0.5,0.5,0.5] ) )
fig.add_annotation( x=lables[0],y= values[0],
xref="x",yref="y",
showarrow=True,arrowhead=7,
ax = 1200, ay= 0 )
fig.add_annotation( x = lables[1], y=values[0],
xref="x",yref="y",
showarrow=True,arrowhead=1,
ax = 0 , ay = 100,
text= difference[0]
)
fig.show()
Run Code Online (Sandbox Code Playgroud)
结果图如下所示:

正如你所看到的,我试图用注释,以表明之间的差异a和b。但我不知道如何获得 .froma和顶部的水平线之间的垂直距离b。
我试图让一个箭头指向水平线的顶部b和c水平线。我想知道有没有办法获得这个垂直距离,或者有没有其他方法可以达到同样的结果?
我对 Dash Plotly 很陌生,我正在尝试弄清楚如何设计这样的布局。
布局:
据我了解,使用 dash bootstrap 组件可以更轻松地完成此操作。 https://dash-bootstrap-components.opensource.faculty.ai 作为第一步,我应该重现布局(灰色瓷砖),作为第二步,我应该添加一些文本和一些图形。只是基本的。
谢谢你。
我使用下面的代码生成具有多个跟踪的图表。但是,我知道为每个轨迹应用不同颜色的唯一方法是使用 randon 函数,该函数为颜色使用数字 RGB。
但随机颜色不利于演示。
我如何为下面的代码使用托盘颜色并且不会获得更多随机颜色?
groups53 = dfagingmedioporarea.groupby(by='Area')
data53 = []
colors53=get_colors(50)
for group53, dataframe53 in groups53:
dataframe53 = dataframe53.sort_values(by=['Aging_days'], ascending=False)
trace53 = go.Bar(x=dataframe53.Area.tolist(),
y=dataframe53.Aging_days.tolist(),
marker = dict(color=colors53[len(data53)]),
name=group53,
text=dataframe53.Aging_days.tolist(),
textposition='auto',
)
data53.append(trace53)
layout53 = go.Layout(xaxis={'title': 'Area', 'categoryorder': 'total descending', 'showgrid': False},
yaxis={'title': 'Dias', 'showgrid': False},
margin={'l': 40, 'b': 40, 't': 50, 'r': 50},
hovermode='closest',
template='plotly_white',
title={
'text': "Aging Médio (Dias)",
'y':.9,
'x':0.5,
'xanchor': 'center',
'yanchor': 'top'})
figure53 = go.Figure(data=data53, layout=layout53)
Run Code Online (Sandbox Code Playgroud) python ×8
plotly ×7
jupyter ×3
jupyter-lab ×1
pandas ×1
plotly-dash ×1
powerbi ×1
profiling ×1
r ×1
sqlite ×1