Python常用的可视化工具

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
交互式图例
import mpld3
from mpld3 import plugins
np.random.seed(100)
df = pd.DataFrame({'A': np.random.randn(365).cumsum(0),
                  'B': np.random.randn(365).cumsum(0) + 20,
                  'C': np.random.randn(365).cumsum(0) - 20},
                 index=range(365))
print(df.head())
print(df.columns.values)
fig, ax = plt.subplots(figsize=(12, 8))
labels = df.columns.tolist()
lines = ax.plot(df.index.values, df.values, lw=2)
interactive_legend = plugins.InteractiveLegendPlugin(lines, labels)
plugins.connect(fig, interactive_legend)
mpld3.display()
# 图像保存成html
with open('./interactive_legend_eg.html', 'w') as f:
    mpld3.save_html(fig, f)

pyecharts

柱状图交互式图例
from pyecharts import Bar
comp_df = pd.read_csv('./comparison_result.csv', index_col='state')
comp_df
good_state_results = comp_df.iloc[0, :].values
heavy_state_results = comp_df.iloc[1, :].values
light_state_results = comp_df.iloc[2, :].values
medium_state_results = comp_df.iloc[3, :].values

labels = comp_df.index.values.tolist()
city_names = comp_df.columns.tolist()

bar = Bar("堆叠柱状图")
bar.add('良好', city_names, good_state_results, is_stack=True, xaxis_interval=0, xaxis_rotate=30)
bar.add('轻度污染', city_names, light_state_results, is_stack=True, xaxis_interval=0, xaxis_rotate=30)
bar.add('中度污染', city_names, medium_state_results, is_stack=True, xaxis_interval=0, xaxis_rotate=30)
bar.add('重度污染', city_names, heavy_state_results, is_stack=True, xaxis_interval=0, xaxis_rotate=30)
bar
plt.show()
# 保存结果到html
bar.render('./echarts_demo.html')

猜你喜欢

转载自blog.csdn.net/happy5205205/article/details/80876496
今日推荐