Этот пост похож на этот ( Изменение формы маркера в Plotly .js ), но я не могу заставить что-либо работать в python. Во-первых, я пытаюсь создать многострочный график (который я сделал как на plt, так и на графике ... код ниже), но, будучи дальтоником (что я и есть), я не могу часто сказать, что я ищу на графике потому что маркеры - это всегда круг (даже если этикетка включена, иногда она обрезается (т. е. когда этикетки слишком длинные), и я не могу понять, на что я смотрю). Графики графика / запонки намного лучше с точки зрения интерактивности, и, поскольку я делаю много презентаций данных, это будет мой предпочтительный метод, если я смогу выяснить, как изменить маркеры для каждой строки.
Я использую 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
Я искал в Интернете последние несколько дней и вижу много вариантов изменения цвета маркера, непрозрачности и т. Д., И т. Д., Но я не могу найти способ автоматического и случайного изменения форма маркеров ИЛИ вручную изменить каждую отдельную линию на отдельную форму маркера.
Я уверен, что это простое исправление, но я не могу понять это. Любая помощь (или толчок в правильном направлении) будет очень цениться.!