96编辑器旗下产品
找图
终身
ID:0
到期时间:永久
退出登录
您的位置:首页 > 百科管理 > 详情

python画图基础教程-怎么用python绘图

原创:找图网 2023-04-20 02:36:39
  • 用Python画图

  • 今天开始琢磨用Python画图,没使用之前是一脸懵的,我使用的开发环境是Pycharm,这个输出的是一行行命令,这个图画在哪里呢?

    搜索之后发现,它会弹出一个对话框,然后就开始画了,比如下图

    第一个常用的库是Turtle,它是Python语言中一个很流行的绘制图像的函数库,这个词的意思就是乌龟,你可以想象下一个小乌龟在一个x和y轴的平面坐标系里,从原点开始根据指令控制,爬行出来就是绘制的图形了。

    它最常用的指令就是旋转和移动,比如画个圆,就是绕着圆心移动;再比如上图这个怎么画呢,其实主要就两个命令:

    (200)

    (170)

    第一个命令是移动200个单位并画出来轨迹

    第二个命令是画笔顺时针转170度,注意此时并没有移动,只是转角度

    然后呢? 循环重复就画出来这个图了

    好玩吧。

    有需要仔细研究的可以看下这篇文章

    ,这个牛人最后用这个库画个移动的钟表,太赞了。

    Turtle虽好玩,但是我想要的是我给定数据,然后让它画图,这里就找到另一个常用的画图的库了。

    Matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表。

    使用起来也挺简单,

    首先import as plt 导入画图的图。

    然后给定x和y,用这个命令(x, y)就能画图了,接着用()就可以把图形展示出来。

    接着就是各种完善,比如加标题,设定x轴和y轴标签,范围,颜色,网格等等,在

    这篇文章里介绍的很详细。

    现在互联网的好处就是你需要什么内容,基本上都能搜索出来,而且还是免费的。

    我为什么要研究这个呢?当然是为了用,比如我把比特币的曲线自己画出来可好?

    假设现在有个数据csv文件,一列是日期,另一列是比特币的价格,那用这个命令画下:

    这两列数据读到pandas中,日期为df['time']列,比特币价格为df['ini'],那我只要使用如下命令

    (df['time'], df['ini'])

    ()

    就能得到如下图:

    自己画的是不是很香,哈哈!

    然后呢,我在上篇文章

    中介绍过求Ahr999指数,那可不可以也放到这张图中呢?不就是加一条命令嘛

    (df['time'], df['Ahr999'])

    图形如下:

    但是,Ahr999指数怎么就一条线不动啊, 原来两个Y轴不一致,显示出来太怪了,需要用多Y轴,问题来了。

    继续谷歌一下,把第二个Y轴放右边就行了,不过呢得使用多图,重新绘制

    fig = () # 多图

    ax1 = _subplot(111)

    (df['time'], df['ini'], label="BTC price")  # 绘制第一个图比特币价格

    _ylabel('BTC price') # 加上标签

    # 第二个直接对称就行了

    ax2 = ()# 在右边增加一个Y轴

    (df['time'], df['Ahr999'], 'r', label="ahr999")  # 绘制第二个图Ahr999指数,红色

    _ylim([0, 50])# 设定第二个Y轴范围

    _ylabel('ahr999')

    (color="k", linestyle=":")# 网格

    (loc="center")#图例

    ()

    跑起来看看效果,虽然丑了点,但终于跑通了。

    这样就可以把所有指数都绘制到一张图中,等等,三个甚至多个Y轴怎么加?这又是一个问题,留给爱思考爱学习的你。

    有了自己的数据,建立自己的各个指数,然后再放到图形界面中,同时针对异常情况再自动进行提醒,比如要抄底了,要卖出了,用程序做出自己的晴雨表。

  • 怎样用python画图,为什么代码写好运行时错误?

  • python绘图(可视化)的模块非常多,下面我简单介绍几个不错的绘图库,感兴趣的朋友可以自己尝试一下,实验环境win7+python3.6+pycharm5.0,主要内容如下:

    matplotlib

    这是python中专门用于绘图的一个模块,功能强大,制图种类繁多,使用也最广泛,下面我简单介绍一下这个模块的安装和使用:

    1.首先,安装matplotlib模块,这个直接在cmd窗口输入安装命令“pip install matplotlib”就行,如下:

    2.安装完成后,我们就可以编写代码进行一下简单测试了,代码如下,一个稍微复杂的曲线图:

    程序运行效果如下,看着还是非常不错的:

    3.更多示例的话,可以参考一下官网教程,介绍的非常详细,柱状图、散点图、饼图等都有,非常适合初学者学习入门:

    seaborn

    这是一个基于matplotlib的绘图库,是matplotlib的高级封装,代码量更少,使用起来也更方便,下面我简单介绍一下这个模块的安装和使用:

    1.首先,安装seaborn模块,这个也直接输入安装命令“pip install seaborn”就行,如下,很快就能安装完成:

    2.安装完成后,我们就可以直接编写代码来测试一下这个模块了,代码如下,一个折线图集合:

    程序运行截图如下,效果也非常不错:

    3.更多示例的话,也直接参考官网教程就行,介绍的非常详细,很适合初学者入门学习:

    pyecharts

    这是echarts的一个python接口,借助于echarts强大的可视化功能,python也可以快速构建、绘制各种各样的图表,下面我简单介绍一下这个模块的安装和使用:

    1.首先,安装pyecharts模块,这个也直接输入命令“pip install pyecharts”就行,如下:

    2.安装完成后,我们就可以编写代码来进行下测试了,测试代码如下,一个简单的3D散点图:

    程序运行截图如下(基于浏览器进行显示),效果还是非常不错的:

    至此,我们就完成了利用python来进行绘图(可视化)。总的来说,这3个绘图模块使用起来都非常不错,对于大多数图表绘制来说,完全可以满足需求,当然,还有许多其他绘图模块,像ggplot等,也都非常不错,网上也有相关教程,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

    python画图有很多扩展可以用,比如matplotlib、turtle、pychart等等,看你需要什么方面了,不同的需求需要用不同的工具。如果做界面还有pyqt、tkinter等等,做 游戏 还有pygame等等。

    python报错需要查看报错信息,进行调试才能正常运行

  • 怎么用python绘图

  • 你可以使用numpy和matplotlab这两个库来实现的你功能。

    你的图可以参考:

    import matplotlib

    from  import randn

    import  as plt

    from  import FuncFormatter

    def to_percent(y, position):

        # Ignore the passed in position. This has the effect of scaling the default

        # tick locations.

        s = str(100 * y)

        # The percent symbol needs escaping in latex

        if [''] == True:

            return s + r'$\%$'

        else:

            return s + '%'

    x = randn(5000)

    # Make a normed histogram. It'll be multiplied by 100 later.

    (x, bins=50, normed=True)

    # Create the formatter using the function to_percent. This multiplies all the

    # default labels by 100, making them all percentages

    formatter = FuncFormatter(to_percent)

    # Set the formatter

    ()._major_formatter(formatter)

    ()

    最主要的就是x轴和y轴的处理,我按照对数算了一下你提供的数据,好像和这个图效果不一样。

    如果解决了您的问题请采纳!

    如果未解决请继续追问

    最新文章 更多
    最新素材 更多
    公司介绍 网站地图 图片资讯
    Copyright © 2010-2022 山东找图网络科技有限公司  鲁ICP备18007836号-3  邮箱:15653358549@163.com