下图是我尝试在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对多个表进行操作的任何建议?
我已经将power bi在线报告嵌入到我的MVC C#应用程序中并正确呈现。此外,我正在尝试将其导出为PDF,但是没有找到一种方法。我已经尝试了jsPDF和Cavas2html,但这没有用。是否有可能使用其他工具来做到这一点?
如何在下面的ggplot中提取用于标记y轴和x轴的数字(分别20, 30, 40和10 , 15 ,20 ,25, 30, 35)?
情节
可重现的代码
# Scatterplot
theme_set(theme_bw()) # pre-set the bw theme.
g <- ggplot(mpg, aes(cty, hwy))
g + geom_count(col="tomato3", show.legend=F) +
labs(subtitle="mpg: city vs highway mileage",
y="hwy",
x="cty",
title="Counts Plot")
Run Code Online (Sandbox Code Playgroud)
我已经尝试查看输出str(g),但是成功了.
我正在尝试使用plotly 绘制包含日期数据的直方图。我想用与周相对应的垃圾箱大小来绘制它,但这似乎不起作用。我搜索了有关它的文档但没有找到任何内容。
这是我的代码。我尝试过(第 5 行):“D7”和“W1”。这不起作用(情节似乎不识别争论,并将其设置为每天一个垃圾箱)。奇怪的是“M1”、“M3”等......似乎有效
fig = go.Figure(data=[go.Histogram(x=df.col,
xbins=dict(
start='2018-01-01',
end='2018-12-31',
size='D7'),
autobinx=False)])
fig.update_layout(
title=go.layout.Title(
text="title",
xref="paper",
x=0.5
),
xaxis_title_text='xaxis title',
yaxis_title_text='yaxis title'
)
fig.show()
Run Code Online (Sandbox Code Playgroud)
有人有关于这个问题的任何信息吗?谢谢
来自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) (这是一个自我回答的帖子,通过不必解释 plotly 如何最好地处理长格式和宽格式数据,帮助其他人缩短他们对 plotly 问题的答案)
我想在尽可能少的行中基于 Pandas 数据框构建一个情节图。我知道你可以使用 plotly.express 来做到这一点,但是这对于我称之为标准熊猫数据框的东西来说是失败的;描述行顺序的索引和描述数据框中值名称的列名:
a b c
0 100.000000 100.000000 100.000000
1 98.493705 99.421400 101.651437
2 96.067026 98.992487 102.917373
3 95.200286 98.313601 102.822664
4 96.691675 97.674699 102.378682
Run Code Online (Sandbox Code Playgroud)
fig=px.line(x=df.index, y = df.columns)
Run Code Online (Sandbox Code Playgroud)
这引发了一个错误:
ValueError:所有参数都应该具有相同的长度。参数的长度
y是 3,而前面的参数 ['x'] 的长度是 100`
我正在尝试绘制三个图形(日、月、年),并让用户可以选择使用下拉菜单选择他们想要查看的图形。当我为 (day, month) 做它时,它完美地工作(以月份显示为默认图表),但是当我添加(year)时,则(day, month)不显示(在这种情况下,我想要 year成为默认图形)。
这是工作代码:
# Plot Day
temp_day = pd.DataFrame(df.day.value_counts())
temp_day.reset_index(inplace=True)
temp_day.columns = ['day', 'tweet_count']
temp_day.sort_values(by=['day'], inplace=True)
temp_day.reset_index(inplace=True, drop=True)
trace_day = go.Scatter(
x=temp_day.day.values,
y=temp_day.tweet_count.values,
text = [f"{humanize.naturaldate(day)}: {count} tweets" for day,count in zip(temp_day.day.values,temp_day.tweet_count.values)],
hoverinfo='text',
mode='lines',
line = {
'color': my_color,
'width': 1.2
},
visible=False,
name="Day"
)
# Plot Month
temp_month = pd.DataFrame(df.YYYYMM.value_counts())
temp_month.reset_index(inplace=True)
temp_month.columns = ['YYYYMM', 'tweet_count']
temp_month['YYYYMM'] = temp_month['YYYYMM'].dt.strftime('%Y-%m')
temp_month.sort_values(by=['YYYYMM'], inplace=True)
temp_month.reset_index(inplace=True, drop=True)
trace_month = go.Scatter(
x=temp_month.YYYYMM.values,
y=temp_month.tweet_count.values,
mode='lines',
line = {
'color': my_color,
'width': 1.2 …Run Code Online (Sandbox Code Playgroud)注释掉的行是我最好的猜测。
def _make_json(self, given_panda: pd.DataFrame, sort_by: str) -> str:
figure = px.scatter_mapbox(given_panda,
hover_name='City',
hover_data=['State', 'Average_Low', 'Average_High', 'Latitude', 'Longitude', 'Record_Low', 'Record_High', 'Wind', 'Elevation', 'Humidity', 'Total_Precip'],
color=sort_by,
color_continuous_scale=px.colors.sequential.Plasma,
zoom=3.4,
opacity=1,
lat='Latitude',
lon='Longitude',
center={'lat': 37.0902, 'lon': -95.7129},
mapbox_style='carto-darkmatter')
figure.update_layout(margin = {'r':0,'t':0,'l':0,'b':0})
#figure.update(layout = dict(legend = dict(bgcolor = 'red')))
return figure.to_json()
Run Code Online (Sandbox Code Playgroud)
这是可能有用的东西 https://plotly.com/python/reference/#layout-showlegend