2 ВИЗУАЛИЗАЦИИ, КОТОРЫЕ ЛЕГЧЕ С ПИТОНОМ (по сравнению с TABLEAU)
Примерно 2 недели назад я написал статью о том, как создать сетевой график с помощью Tableau. С тех пор мне довелось принять участие в еще одной задаче, связанной с Python.
Будучи долгое время модификатором чужих скриптов, я никогда не пытался понять Python, кроме кадров данных Pandas.
Теперь все изменилось, я стал верующим. Я признаю, что для понимания требуется время, но как только вы поймете, что Python может помочь вам создать практически все, о чем только может мечтать ваш разум, будет трудно вернуться назад.
Возьмем, к примеру, сетевую диаграмму. Чтобы сделать ее в Tableau, необходимо сначала извлечь координаты X,Y с помощью другой программы, затем добавить их к исходным данным и только после этого открыть Tableau.
В Python? Вы пишете примерно 10 строк кода:
#Choose your styles
net = Network(
notebook = True,
directed = True,
bgcolor = "black",
font_color = "yellow",
cdn_resources = 'remote',
height = "1000px",
width = "100%"
)
specialties = set(df_Providers['ProviderSpecialty'])
for specialty in specialties:
net.add_node(specialty,size=50,font_size=20)
# Add nodes
for _, provider_id, provider_name, specialty in df_Providers.itertuples():
net.add_node(provider_name,size=40,font_size=18)
# Add edges
for _, provider_id, provider_name, specialty in df_Providers.itertuples():
net.add_edge(provider_name, specialty)
То же самое с круговыми санкциями. В Tableau мне пришлось создать 8 различных вычисляемых полей, чтобы превратить линии в сигмоидальные кривые, и это после того, как я потратил несколько часов на подготовку данных, чтобы размеры внешнего и внутреннего круга были ранжированы и скорректированы. В результате получился прекрасный результат
Но Python быстро справился с этой задачей:
import hvplot.pandas
import holoviews as hv
hv.extension('bokeh')
chord = hv.Chord((df_ServDiagnosis1, Services_dataset))
chord.opts(
height=620, width=1100, title="Services rendered by primary Diagnosis",
node_color="Service", node_cmap="Category20", edge_color="PrimaryDiagnosis", edge_cmap='Bokeh',
label_index='Service', label_text_font_size='9pt',bgcolor='black', label_text_color='white'
)
4 строки кода, 2 библиотеки и мы имеем вот это:
Прошедшая неделя помогла мне оценить красоту и сложность такого языка высокого уровня, как Python.
Значит ли это, что я перехожу на Python и отказываюсь от Tableau? Нет.
Python не будет размещать мои визоры на общедоступной платформе и не позволит мне одержимо работать с сотней различных палитр, пытаясь выбрать только нужный оттенок синего.
Однако MatplotLib меня больше не пугает. Я знаю, что, скорее всего, всего одна библиотека отделяет меня от создания любого визажа, который только может прийти мне в голову.
Что в этом может не нравиться?