首页 > 编程语言 >136python可视化图

136python可视化图

时间:2023-04-29 16:33:04浏览次数:58  
标签:index beets sugarcane years source 可视化 136python data

灵感 :来自朋友让我帮它弄可视化图,持续更新,后期可直接套用

EXCEL文件

CSV文件

例子1

csv布局

效果:

代码如下:

# @author: zhc
# @Time: 2023/4/29
# @FileName: demo2


import pandas as pd


class Bar_429:

    def start(self):
        self.__testA_wy()
        self.__testB_img()

    def __testA_wy(self):
        from bokeh.plotting import figure, output_file, show
        from bokeh.models import CustomJS, ColumnDataSource
        from bokeh.models.tools import HoverTool

        # 读csv文件
        data = pd.read_csv('中国历年甘蔗甜菜产量(1949年-2021年).csv')
        years = data['年份']
        sugarcane = data['甘蔗产量']
        beets = data['甜菜产量']

        # 创建交互式图表
        p = figure(title='中国历年甘蔗甜菜产量(1949年-2021年)', x_axis_label='年份', y_axis_label='产量', tools='tap')

        # 添加柱状图
        source = ColumnDataSource(data=dict(years=years, sugarcane=sugarcane, beets=beets))
        p.vbar(x='years', top='sugarcane', color='red', width=0.5, legend_label='甘蔗', source=source)
        p.vbar(x='years', top='beets', color='green', width=0.5, legend_label='甜菜', source=source)

        # 添加鼠标悬停工具
        p.add_tools(HoverTool(tooltips=[('年份', '@years'), ('甘蔗产量', '@sugarcane'), ('甜菜产量', '@beets')]))

        # 设置图表样式
        p.legend.location = "top_left"
        p.legend.orientation = "horizontal"
        p.legend.label_text_font_size = "10pt"
        p.legend.background_fill_alpha = 0.3
        p.xaxis.axis_label_text_font_size = "12pt"
        p.yaxis.axis_label_text_font_size = "12pt"
        p.title.text_font_size = "16pt"

        # 添加回调函数
        callback = CustomJS(args=dict(source=source), code="""
            var selected_index = source.selected.indices[0];
            var data = source.data;
            var year = data['years'][selected_index];
            var sugarcane = data['sugarcane'][selected_index];
            var beets = data['beets'][selected_index];
            alert("年份:" + year + "\n甘蔗产量:" + sugarcane + "\n甜菜产量:" + beets);
        """)
        p.js_on_event('tap', callback)

        # 输出图表到HTML文件
        output_file('chart.html')
        show(p)

    def __testB_img(self):
        # 2
        import pandas as pd
        import matplotlib.pyplot as plt

        # 读取数据
        data = pd.read_csv('中国历年甘蔗甜菜产量(1949年-2021年).csv')
        years = data['年份']
        sugarcane = data['甘蔗产量']
        beets = data['甜菜产量']

        # 创建画布
        fig, ax = plt.subplots()

        # 添加柱状图
        ax.bar(years, sugarcane, color='red', label='甘蔗')
        ax.bar(years, beets, color='green', label='甜菜')

        # 设置坐标轴标签和图例
        ax.set_xlabel('年份')
        ax.set_ylabel('产量')
        ax.set_title('中国历年甘蔗甜菜产量(1949年-2021年)')
        ax.legend()

        # 添加鼠标悬停事件
        def onclick(event):
            index = event.xdata
            if index is not None:
                index = int(index)
                print(f'年份: {years[index]}, 甘蔗产量: {sugarcane[index]}, 甜菜产量: {beets[index]}')

        cid = fig.canvas.mpl_connect('button_press_event', onclick)

        # 保存图形并显示
        plt.savefig('chart.png')
        plt.show()


if __name__ == '__main__':
    bar = Bar_429()
    bar.start()

标签:index,beets,sugarcane,years,source,可视化,136python,data
From: https://www.cnblogs.com/code3/p/17364187.html

相关文章

  • 毕业设计 医学图像阅读器 DICOM CT MRI 阅读器 三维重建 可视化编程技术及应用
    一、概述     此系统实现了常见VTK四视图,实现了很好的DICOM图像显示,可用于DICOM超声X线CTMR三维重建拾取像素值窗宽窗位像素,距离测量,角度测量,提供源码;并且通过三维重建实现可视化。使用了第三方库VTK,ITK实现分割和生不重建。窗口分为(横断面)、冠状面、矢状......
  • Arcgis 与 Claygl 可视化 glsl 特效篇(三十九)
    我决定不从claygl基础来讲了直接整合arcgis与claygl可视化来讲关于整合clagyl有兴趣看我这篇文章arcgis与claygl引擎结合做地图可视化我整合一个类库后续不断更新中npmi@haibalai/gismap4-claygl初始化gismap4-claygl类库,view是arcgis的sceneView对象import{ClayglMa......
  • Arcgis 与 Claygl 可视化 glsl 特效篇(三十七)
    我决定不从claygl基础来讲了直接整合arcgis与claygl可视化来讲关于整合clagyl有兴趣看我这篇文章arcgis与claygl引擎结合做地图可视化我整合一个类库后续不断更新中npmi@haibalai/gismap4-claygl初始化gismap4-claygl类库,view是arcgis的sceneView对象import{ClayglMa......
  • Arcgis 与 Claygl 可视化 glsl 特效篇(三十六)
    我决定不从claygl基础来讲了直接整合arcgis与claygl可视化来讲关于整合clagyl有兴趣看我这篇文章arcgis与claygl引擎结合做地图可视化我整合一个类库后续不断更新中npmi@haibalai/gismap4-claygl初始化gismap4-claygl类库,view是arcgis的sceneView对象import{ClayglMa......
  • Arcgis 与 Claygl 可视化 glsl 特效篇(二十六)
    我决定不从claygl基础来讲了直接整合arcgis与claygl可视化来讲关于整合clagyl有兴趣看我这篇文章arcgis与claygl引擎结合做地图可视化我整合一个类库后续不断更新中npmi@haibalai/gismap4-claygl初始化gismap4-claygl类库,view是arcgis的sceneView对象import{ClayglMa......
  • plt 中文字体可视化
    PythonMatplotlib图片/坐标轴标题的设置和字体修改matplotlibfontdict字体设置......
  • 最火前端 Web 组态软件 (可视化)
    ​ 前言:随着物联网、大数据等技术高速发展,我们逐步向数字化、可视化的人工智能(AI)时代的方向不断迈进。智能时代是工业4.0时代,我国工业领域正努力从“制造”迈向“智造”的新跨越。正文:1.mxgraph:介绍:开源免费,但是需要解决的问题很多,国内学习参考资料少。但是,可视化组态的实......
  • 用Leangoo看板工具做可视化工作流管理
    ​本场景是可视化工作流,通过可视化的精益看板将价值流进行可视化,通过精益思维消除瓶颈、加速流动,提升效率。创建工作流任务看板•通过Leangoo可视化工作流项目模板,创建一个工作流看板。•通过看板,我们可以将整个价值流进行可视化​编辑设计工作流在Leangoo看板中,以列表体现......
  • 如何基于AI智能技术打造智慧工厂大数据可视化管理平台​
    一、行业背景随着物联网、视频监控和人工智能等技术的快速发展和应用,利用先进技术加强信息管理和服务,是现代工厂信息化发展的新趋势。目前是传统工厂向智慧工厂转型的关键阶段,各工厂急需采用融合智能化和信息化的技术,打造集智能管理、智能生产、智能服务为一体的大数据可视化管理平......
  • [独家放送]Unity2020规划预览,可视化编程又双叒叕来了!
    你好,我是你的技术探路者郑洪智,你可以叫我大智。欢迎一起进入2020年,在新的一年里Unity有什么大动作呢?本文带你速览你最关心的Unity2020的核心功能!你最可能关心的功能有哪些呢?Unity2019.3在哪里???(乱入)下面从四个方面来看Unity有哪些更新:核心功能和性能更多的DOTS(Data-OrientedTechSt......