gpt4 book ai didi

python-3.x - 在 plotly/cufflinks 中生成不同的标记形状

转载 作者:行者123 更新时间:2023-12-03 23:16:30 26 4
gpt4 key购买 nike

这篇文章与这篇文章( Change Marker Shapes in Plotly .js )类似,但我似乎无法在 python 中使用任何东西。首先,我正在尝试制作一个多线图(我在 plt 和 plotly 中都做过……下面的代码),但我是色盲(我是),我经常无法分辨出我在看什么因为标记总是一个圆圈(即使包含标签,它有时也会被切断(即,当标签太长时)并且我无法弄清楚我在看什么)。 plotly/袖扣图在交互性方面要好得多,而且由于我做了很多数据演示,如果我能弄清楚如何更改每条线的标记,这将是我的首选方法。

我正在使用 Jupyter Notebook(版本:5.4.0)和 Python(版本 3.6.4)

dummy_data 文件的屏幕截图。

dummy_data_screenshot

在 matplotlib 中,我执行了以下操作来附加输出(注意不同的形状标记):

import matplotlib.pyplot as plt
import matplotlib as mpl ##(version: 2.1.2)
import pandas as pd ##(version: 0.22.0)
import numpy as np ##(version: 1.14.0)

import plotly.graph_objs as go
from plotly.offline import download_plotlyjs,init_notebook_mode,plot,iplot
import cufflinks as cf ##(version: 0.12.1)

init_notebook_mode(connected=True)
cf.go_offline()

%matplotlib notebook

df = pd.read_csv("desktop\dummy_data.csv")

fx = df.groupby(['studyarm', 'visit'])\
['totdiffic_chg'].mean().unstack('studyarm').drop(['02_UNSCH','ZEOS'])


valid_markers = ([item[0] for item in
mpl.markers.MarkerStyle.markers.items() if
item[1] is not 'nothing' and not item[1].startswith('tick')
and not item[1].startswith('caret')])

markers = np.random.choice(valid_markers, df.shape[1], replace=False)

ax = fx.plot(kind = 'line', linestyle='-')
for i, line in enumerate(ax.get_lines()):
line.set_marker(markers[i])
ax.legend(loc='best')
ax.set_xticklabels(df.index, rotation=45)
plt.title('Some Made Up Data')
plt.ylabel('Score', fontsize=14)
plt.autoscale(enable=True, axis='x', tight=True)
plt.tight_layout()

plt_image_dummy_data

我使用了下面的代码,它通过 plotly/cufflinks 创建了图形:
fx.iplot(kind='line', yTitle='Score', title='Some Made Up Data', 
mode=markers, filename='cufflinks/simple-line')

plotly_image_dummy_data

最近几天我在网上搜索,我可以看到许多选项来更改标记颜色、不透明度等,但我似乎无法找到一种方法来自动和随机地更改标记的形状标记或手动将每个单独的行更改为单独的标记形状。

我确信这是一个简单的修复,但我无法弄清楚。任何帮助(或朝着正确的方向轻推)将不胜感激。!

最佳答案

您可以使用符号属性指定散点图的形状,如下所示:

 Scatter(x = ..., y = ..., mode = 'lines+markers',
marker = dict(size = 10, symbol = 1, ...))

例如:
  • 0 给出圆圈
  • 1 给出正方形
  • 3 给出“+”号
  • 5 给出三角形等

  • 在此处查看 Plotly 文档中的“符号”条目: https://plot.ly/python/reference/#box-marker-symbol

    关于python-3.x - 在 plotly/cufflinks 中生成不同的标记形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50053857/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com