精华内容
下载资源
问答
  • 喜欢用 Python 做项目的小伙伴不免会遇到这种情况:做图表时,用哪种好看又实用的可视化工具包呢?今天小编给大家分享8个非常流行的 Python 可视化工具包,需要的朋友可以参考下
  • 主要介绍了python可视化爬虫界面之天气查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • 基于Python可视化计算器的源代码,安装对应的python3版本,可查看编码 基于Python可视化计算器的源代码,安装对应的python3版本,可查看编码
  • 一个基于Vim的python可视化开发工具
  • python可视化实现代码

    2020-09-19 17:18:52
    今天小编就为大家分享一篇关于python可视化实现代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 随机生成一些坐标点,然后用DBSCAN算法聚类,用图形显示每一个簇的生成过程
  • Python可视化库推荐

    千次阅读 2019-11-07 18:46:17
    Python可视化库很多,这里列举几个供大家参考学习。 1.Seaborn 官网基于matplotlib的Python数据可视化库。它提供了一个高级界面,用于绘制引人入胜且内容丰富的统计图形。 2.Bokeh 官网一个交互式可视化...

    Python可视化库很多,这里列举几个供大家参考学习。

    1.Seaborn

    官网基于matplotlib的Python数据可视化库。它提供了一个高级界面,用于绘制引人入胜且内容丰富的统计图形。

    2.Bokeh

    官网一个交互式可视化库,面向现代Web浏览器进行演示。它的目标是提供通用图形的优雅,简洁的构造,并通过超大型或流数据集的高性能交互性来扩展此功能。Bokeh可以帮助任何想要快速轻松地创建交互式绘图,仪表板和数据应用程序的人。

    3.HoloViews

    官网旨在使数据分析和可视化变得无缝和简单。使用HoloViews,您通常可以用很少的几行代码表达您想要做的事情,让您专注于尝试探索和传达的内容,而不是绘图过程。

    4.Altair

    官网基于VegaVega-Lite的用于Python的声明式统计可视化库。

    5.PyQtGraph

    官网是基于PyQt4 / PySidenumpy构建的纯Python图形和GUI库。它旨在用于数学/科学/工程应用。尽管完全用python编写,但是由于numpy大量使用数字处理和Qt的GraphicsView框架进行快速显示,该库非常快。

    6.Chaco

    官网用于构建交互式和自定义的二维绘图和可视化。Chaco可以帮助编写各种复杂程度的绘图应用程序,从带有硬编码数据的简单脚本到具有复杂数据相互关系和大量交互工具的大型绘图程序。

    7.GuiQwt

    官网基于PythonQwt(绘制为Qt的图形用户界面窗口小部件),并且在科学模块NumPy的和SciPy的,guiqwt是一个Python库提供高效的2D数据绘制为交互式计算和信号特征(曲线/图像可视化和相关的工具)和/或图像处理应用程序开发

    8.pyqwt

    官网用于Qwt C ++类库的一组Python绑定,该 库通过用于科学和工程应用程序的小部件扩展了 Qt框架。支持3D。

    9.Plotly

    官网可以制作折线图,散点图,面积图,条形图,误差线,箱形图,直方图,热图,子图,多轴图,极坐标图和气泡图等

    10.VisPy

    官网用于交互式科学可视化的Python库,该库旨在快速,可扩展且易于使用

    还有pygalggplotMayavi2等。可以见本博客的第一张图片。

    参考网站

    https://www.anaconda.com/python-data-visualization-2018-why-so-many-libraries/

    https://blog.csdn.net/weixin_39777626/article/details/78598346#commentBox

    11、Dash

    Dash 建立在 Plotly.js、React 和 Flask 之上,将下拉菜单、滑块和图形等现代 UI 元素直接与您的 Python 分析代码联系起来

     

    参考网站

    https://github.com/plotly/dash

    https://dash-gallery.plotly.host/Portal/

    展开全文
  • 精品文档 Pycon 2017 Python 可视化库大全 前言 本文主要摘录自 pycon 2017 大会的一个演讲 pycon 2017 的相关演讲主题是 The Python Visualization Landscape 先来一张全景图 精品文档 精品文档 精品文档 精品文档 ...
  • 今天分享一个音乐可视化的程序,什么是音乐可视化,就像下面这样 没错,就是这个东西,这个似乎有一个名词来称呼的吧,什么名词呢想不到了,就叫她音乐可视化吧。 基本思路是这样,这个东西应该就是音乐中不同频率...
  • Python可视化界面编程入门具体实现代码如所示:(1)普通可视化界面编程代码入门:import sysfrom PyQt5.QtWidgets import QWidget,QApplication #导入两个类来进行程序界面编程if __name__=="__main__":#...

    Python可视化界面编程入门具体实现代码如所示:

    (1)普通可视化界面编程代码入门:

    import sys

    from PyQt5.QtWidgets import QWidget,QApplication #导入两个类来进行程序界面编程

    if __name__=="__main__":

    #创建一个Application的类

    app=QApplication(sys.argv)

    #创建一个窗口

    w=QWidget()

    #设置窗口的尺寸大小

    w.resize(400,200)

    # 移动窗口

    w.move(300,300)

    #设置窗口的标题

    w.setWindowTitle("得一个基于PyQt5的桌面应用")

    #显示窗口

    w.show()

    #静进入程序的主循环,并且通过exit函数确保主循环的安全结束

    sys.exit(app.exec_()) #一一直在桌面上显示窗口形状

    #QTdesigner和pyGUI扩展工具在pycharm平台中的的安装和配置

    #直接安装QT软件或者安装anaconda开发环境之后就会在电脑安装好QTdesigner.exe文件,之后pycharm里面配置扩展工具external tool文件,便可以方便在pycharm里面直接启动

    在pycharm里面配置扩展工具external toolQTdesigne和pyGUI(可以将ui文件直转换为.py文件,建立设计的可视化界面的大类直接进行调用)

    20191219095429471541.png

    20191219095429699088.png

    配置好之后设计可视化界面的步骤是:

    (1)利用pychar里面的QTdesigner扩展工具进行可视化界面的设计,然后将其保存为.ui文件;

    (2)使用pyGUI扩展工具将设计好的可视化界面.ui文件转换为.py文件,生成一个建立的可视化模板大类,直接进行调用即可。

    具体代码如下所示:

    import sys

    importmainwinvertical#导入相应的设计好的QTdesigner主窗口的类,然后即可直接进行展示(由ui文件经过PYGUI扩展工具转换而来)

    from PyQt5.QtWidgets import QApplication,QMainWindow

    if __name__=="__main__":

    app=QApplication(sys.argv)

    mainwin=QMainWindow() #创建一个窗口

    ui=mainwinvertical.Ui_MainWindow() #创建一个QTdesigner的类

    ui.setupUi(mainwin) #将对象直接进行运行设置函数,向主窗口上添加控件

    mainwin.show() #展示出来窗口的形式

    sys.exit(app.exec_()) #承接开头语句,用来实时的显示窗口

    其中mainwinvertical类的具体代码如下:(由QTdesigner设计好可是换界面,然后直接用pyGUi扩展工具转换为.python代码文件)

    # -*- coding: utf-8 -*-

    # Form implementation generated from reading ui file "mainwinvertical.ui"

    #

    # Created by: PyQt5 UI code generator 5.13.2

    #

    # WARNING! All changes made in this file will be lost!

    from PyQt5 import QtCore, QtGui, QtWidgets

    class Ui_MainWindow(object):

    def setupUi(self, MainWindow):

    MainWindow.setObjectName("MainWindow")

    MainWindow.resize(800, 600)

    self.centralwidget = QtWidgets.QWidget(MainWindow)

    self.centralwidget.setObjectName("centralwidget")

    self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget)

    self.verticalLayoutWidget.setGeometry(QtCore.QRect(390, 50, 201, 141))

    self.verticalLayoutWidget.setObjectName("verticalLayoutWidget")

    self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.verticalLayoutWidget)

    self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)

    self.verticalLayout_2.setObjectName("verticalLayout_2")

    self.pushButton_5 = QtWidgets.QPushButton(self.verticalLayoutWidget)

    self.pushButton_5.setObjectName("pushButton_5")

    self.verticalLayout_2.addWidget(self.pushButton_5)

    self.pushButton_4 = QtWidgets.QPushButton(self.verticalLayoutWidget)

    self.pushButton_4.setObjectName("pushButton_4")

    self.verticalLayout_2.addWidget(self.pushButton_4)

    self.pushButton_6 = QtWidgets.QPushButton(self.verticalLayoutWidget)

    self.pushButton_6.setObjectName("pushButton_6")

    self.verticalLayout_2.addWidget(self.pushButton_6)

    self.widget = QtWidgets.QWidget(self.centralwidget)

    self.widget.setGeometry(QtCore.QRect(30, 40, 291, 211))

    self.widget.setObjectName("widget")

    self.verticalLayout = QtWidgets.QVBoxLayout(self.widget)

    self.verticalLayout.setContentsMargins(0, 0, 0, 0)

    self.verticalLayout.setObjectName("verticalLayout")

    self.label = QtWidgets.QLabel(self.widget)

    self.label.setObjectName("label")

    self.verticalLayout.addWidget(self.label)

    self.pushButton = QtWidgets.QPushButton(self.widget)

    self.pushButton.setObjectName("pushButton")

    self.verticalLayout.addWidget(self.pushButton)

    self.pushButton_2 = QtWidgets.QPushButton(self.widget)

    self.pushButton_2.setObjectName("pushButton_2")

    self.verticalLayout.addWidget(self.pushButton_2)

    self.lineEdit = QtWidgets.QLineEdit(self.widget)

    self.lineEdit.setObjectName("lineEdit")

    self.verticalLayout.addWidget(self.lineEdit)

    self.pushButton_3 = QtWidgets.QPushButton(self.widget)

    self.pushButton_3.setObjectName("pushButton_3")

    self.verticalLayout.addWidget(self.pushButton_3)

    MainWindow.setCentralWidget(self.centralwidget)

    self.menubar = QtWidgets.QMenuBar(MainWindow)

    self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 23))

    self.menubar.setObjectName("menubar")

    MainWindow.setMenuBar(self.menubar)

    self.statusbar = QtWidgets.QStatusBar(MainWindow)

    self.statusbar.setObjectName("statusbar")

    MainWindow.setStatusBar(self.statusbar)

    self.retranslateUi(MainWindow)

    QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):

    _translate = QtCore.QCoreApplication.translate

    MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))

    self.pushButton_5.setText(_translate("MainWindow", "PushButton"))

    self.pushButton_4.setText(_translate("MainWindow", "PushButton"))

    self.pushButton_6.setText(_translate("MainWindow", "PushButton"))

    self.label.setText(_translate("MainWindow", "TextLabel"))

    self.pushButton.setText(_translate("MainWindow", "PushButton"))

    self.pushButton_2.setText(_translate("MainWindow", "PushButton"))

    self.pushButton_3.setText(_translate("MainWindow", "PushButton"))

    具体的运行结果如下所示:

    20191219095429815304.png

    原文地址:https://www.cnblogs.com/Yanjy-OnlyOne/p/12065771.html

    展开全文
  • 医疗数据可视化
  • python数据可视化-源码

    2021-02-16 09:52:10
    python数据可视化
  • "" #必须执行下面两个语句 self.filename =filename self.restore()#创建"Settings”的实例对象"settings” settingsFilename = "settings.txt"settings=Settings(settingsFilename) author= "小甲鱼"book= "《零...

    在各类按钮组件里,默认的消息是 "Shall I continue?”,所以你可以不带任何参数地去调用它们。

    这里我们演示不带任何参数地去调用 ccbox(),当选择 "cancel” 或关闭窗口的时候返回一个布尔类型的值:

    if ccbox():

    pass #用户选择继续

    else:

    return #用户选择取消

    使用关键字参数调用EasyGUI的函数

    调用 EasyGUI 函数还可以使用关键字参数哦。

    现在假设你需要使用一个按钮组件,但你不想指定标题参数(第二个参数),你仍可以使用关键字参数的方法指定 choices 参数(第三个参数),像这样:

    >>> choices = ['愿意', '不愿意', '有钱的时候就愿意']>>> reply = choicebox('你愿意购买资源打包支持小甲鱼吗?', choices = choices)

    8 使用按键 组件

    根据需求,EasyGUI在buttonbox()上建立了一系列的函数调用。

    8.1 msgbox()

    msgbox(msg = "(You message goes here)’,title = 'Ok',image =None,root = None)

    msgbox() 显示一个消息和提供一个'ok'按键,你可以指定任意的消息和标题,你甚至可以重写"ok’按键的内容。

    重写"ok’按键最简单的方法是使用关键字参数:

    msgbox('我一定要学会编程!',ok_button = '加油!')

    8.2 ccbox()

    ccbox(msg='Shall I continue?', title=' ', choices=('C[o]ntinue', 'C[a]ncel'), image=None, default_choice='C[o]ntinue', cancel_choice='C[a]ncel')

    ccbox() 提供一个选择:"C[o]ntinue” 或者 "C[a]ncel”,并相应的返回 True 或者 False。

    注意:"C[o]ntinue” 中的 [o] 表示快捷键,也就是说当用户在键盘上敲一下 o 字符,就相当于点击了 "C[o]ntinue” 按键。

    8.3 ynbox()

    ynbox(msg='Shall I continue?', title=' ', choices=('[]Yes', '[]No'), image=None, default_choice='[]Yes', cancel_choice='[]No')

    跟 ccbox() 一样,只不过这里默认的 choices 参数值不同而已,[] 表示将键盘上的 F1 功能按键作为 "Yes” 的快捷键使用。

    8.4 buttonbox()

    buttonbox(msg='', title=' ', choices=('Button[1]', 'Button[2]', 'Button[3]'), image=None, images=None, default_choice=None, cancel_choice=None, callback=None, run=True)

    可以使用 buttonbox() 定义自己的一组按钮,buttonbox() 会显示一组由你自定义的按钮。

    当用户点击任意一个按钮的时候,buttonbox() 返回按钮的文本内容。

    如果用户点击取消或者关闭窗口,那么会返回默认选项(第一个选项)。

    请看例子:

    615872-20180909101351634-1440143813.png

    615872-20180909101438873-2076893887.png

    615872-20180909101520845-1036985412.png

    615872-20180909101604130-1116489691.png

    615872-20180909101642663-1272394744.png

    615872-20180909101715779-1662894784.png

    615872-20180909101800339-1645047465.png

    615872-20180909101833158-1455388243.png

    615872-20180909101905562-1076305052.png

    615872-20180909101951960-293459826.png

    615872-20180909102017290-2131928560.png

    615872-20180909102051872-83556415.png

    615872-20180909102128310-976350929.png

    615872-20180909102210049-1581228832.png

    615872-20180909102239788-1666534020.png

    615872-20180909102340467-47425879.png

    615872-20180909102418519-1847809111.png

    615872-20180909102445391-1321340981.png

    615872-20180909102524785-1431666686.png

    615872-20180909102559156-1469628912.png

    615872-20180909102623794-1427334647.png

    615872-20180909102650666-168819418.png

    from easygui importEgStore#定义一个叫做"Settings”的类,继承自EgStore类

    classSettings(EgStore):def __init__(self, filename): #需要指定文件名

    #指定要记住的属性名称

    self.author = ""self.book= ""

    #必须执行下面两个语句

    self.filename =filename

    self.restore()#创建"Settings”的实例化对象"settings”

    settingsFilename = "settings.txt"settings=Settings(settingsFilename)

    author= "小甲鱼"book= "《零基础入门学习Pyhon》"

    #将上面两个变量的值保存到"settings”对象中

    settings.author =author

    settings.book=book

    settings.store()print(" 保存完毕 ")

    615872-20180909102801784-466102164.png

    try:print('I Love FishC.com!')

    int('FISHC') #这里会产生异常

    except:

    exceptionbox()

    615872-20180909102859818-1170819690.png

    展开全文
  • Python数据可视化课本内全部课后习题_答案
  • 来源:机器之心作者:Aaron Frederick参与:李诗萌、王淑婷用 Python 创建图形的方法有很多,但是哪种方法是最好的呢?当我们做可视化之前,要先明确一些关于图像目标的问题:...

    来源:机器之心

    作者:Aaron Frederick

    参与:李诗萌、王淑婷

    用 Python 创建图形的方法有很多,但是哪种方法是最好的呢?当我们做可视化之前,要先明确一些关于图像目标的问题:比如你是想了解数据的分布情况?还是想展示时给人们留下深刻印象?

    本文将介绍一些常用的 Python 可视化包,包括这些包的优缺点以及分别适用于什么样的场景。这篇文章主要涉及 2D 图,不过其中许多都可以很好地支持 3D 图和商业报表。

    Matplotlib、Seaborn 和 Pandas

    把这三个包放在一起有几个原因:首先 Seaborn 和 Pandas 是建立在 Matplotlib 之上的,当你在用 Seaborn 或 Pandas 中的 df.plot() 时,用的其实是别人用 Matplotlib 写的代码。因此,这些图在美化方面是相似的,自定义图时用的语法也都非常相似。

    当提到这些可视化工具时,我想到三个词:探索(Exploratory)、数据(Data)、分析(Analysis)。这些包都很适合第一次探索数据,但要做演示时用这些包就不够了。

    Matplotlib 是比较低级的库,但它所支持的自定义程度令人难以置信(所以不要简单地将其排除在演示所用的包之外!),但还有其它更适合做展示的工具。

    Matplotlib 还可以选择样式(style selection),它模拟了像 ggplot2 和 xkcd 等很流行的美化工具。下面是我用 Matplotlib 及相关工具所做的示例图:

    在处理篮球队薪资数据时,我想找出薪资中位数最高的团队。为了展示结果,我将每个球队的工资用颜色标成条形图,来说明球员加入哪一支球队才能获得更好的待遇。

    import seaborn as sns
    import matplotlib.pyplot as plt
    
    color_order = ['xkcd:cerulean', 'xkcd:ocean',
                    'xkcd:black','xkcd:royal purple',
                    'xkcd:royal purple', 'xkcd:navy blue',
                    'xkcd:powder blue', 'xkcd:light maroon', 
                    'xkcd:lightish blue','xkcd:navy']
    
    sns.barplot(x=top10.Team,
                y=top10.Salary,
                palette=color_order).set_title('Teams with Highest Median Salary')
    
    plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0))
    

    第二个图是回归实验残差的 Q-Q 图。这张图的主要目的是展示如何用尽量少的线条做出一张有用的图,当然也许它可能不那么美观。

    import matplotlib.pyplot as plt
    import scipy.stats as stats
    
    #model2 is a regression model
    log_resid = model2.predict(X_test)-y_test
    stats.probplot(log_resid, dist="norm", plot=plt)
    plt.title("Normal Q-Q plot")
    plt.show()
    

    最终证明,Matplotlib 及其相关工具的效率很高,但就演示而言它们并不是最好的工具。

    ggplot(2)

    你可能会问,「Aaron,ggplot 是 R 中最常用的可视化包,但你不是要写 Python 的包吗?」。人们已经在 Python 中实现了 ggplot2,复制了这个包从美化到语法的一切内容。

    在我看过的所有材料中,它的一切都和 ggplot2 很像,但这个包的好处是它依赖于 Pandas Python 包。不过 Pandas Python 包最近弃用了一些方法,导致 Python 版本不兼容。如果你一定要在 Python 中用 ggplot,那你就必须要安装 0.19.2 版的 Pandas,但我建议你最好不要为了使用较低级的绘图包而降低 Pandas 的版本。

    ggplot2(我觉得也包括 Python 的 ggplot)举足轻重的原因是它们用「图形语法」来构建图片。基本前提是你可以实例化图,然后分别添加不同的特征;也就是说,你可以分别对标题、坐标轴、数据点以及趋势线等进行美化。

    下面是 ggplot 代码的简单示例。我们先用 ggplot 实例化图,设置美化属性和数据,然后添加点、主题以及坐标轴和标题标签。

    #All Salaries
    ggplot(data=df, aes(x=season_start, y=salary, colour=team)) +
      geom_point() +
      theme(legend.position="none") +
      labs(title = 'Salary Over Time', x='Year', y='Salary ($)')
    
    

    Bokeh

    Bokeh 很美。从概念上讲,Bokeh 类似于 ggplot,它们都是用图形语法来构建图片,但 Bokeh 具备可以做出专业图形和商业报表且便于使用的界面。为了说明这一点,我根据 538 Masculinity Survey 数据集写了制作直方图的代码:

    import pandas as pd
    from bokeh.plotting import figure
    from bokeh.io import show
    
    # is_masc is a one-hot encoded dataframe of responses to the question:
    # "Do you identify as masculine?"
    
    #Dataframe Prep
    counts = is_masc.sum()
    resps = is_masc.columns
    
    #Bokeh
    p2 = figure(title='Do You View Yourself As Masculine?',
              x_axis_label='Response',
              y_axis_label='Count',
              x_range=list(resps))
    p2.vbar(x=resps, top=counts, width=0.6, fill_color='red', line_color='black')
    show(p2)
    
    #Pandas
    counts.plot(kind='bar')
    
    

    用 Bokeh 表示调查结果

    红色的条形图表示 538 个人关于「你认为自己有男子汉气概吗?」这一问题的答案。9~14 行的 Bokeh 代码构建了优雅且专业的响应计数直方图——字体大小、y 轴刻度和格式等都很合理。

    代码中大部分都用于标记坐标轴和标题,以及为条形图添加颜色和边框。在制作美观且表现力强的图片时,我更倾向于使用 Bokeh——它已经帮我们完成了大量美化工作。

    用 Pandas 表示相同的数据

    蓝色的图是上面的第 17 行代码。这两个直方图的值是一样的,但目的不同。在探索性设置中,用 Pandas 写一行代码查看数据很方便,但 Bokeh 的美化功能非常强大。

    Bokeh 提供的所有便利都要在 matplotlib 中自定义,包括 x 轴标签的角度、背景线、y 轴刻度以及字体(大小、斜体、粗体)等。下图展示了一些随机趋势,其自定义程度更高:使用了图例和不同的颜色和线条。

    Bokeh 还是制作交互式商业报表的绝佳工具。

    Plotly

    Plotly 非常强大,但用它设置和创建图形都要花费大量时间,而且都不直观。在用 Plotly 忙活了大半个上午后,我几乎什么都没做出来,干脆直接去吃饭了。我只创建了不带坐标标签的条形图,以及无法删掉线条的「散点图」。Ploty 入门时有一些要注意的点:

    • 安装时要有 API 秘钥,还要注册,不是只用 pip 安装就可以;

    • Plotly 所绘制的数据和布局对象是独一无二的,但并不直观;

    • 图片布局对我来说没有用(40 行代码毫无意义!)

    但它也有优点,而且设置中的所有缺点都有相应的解决方法:

    • 你可以在 Plotly 网站和 Python 环境中编辑图片;

    • 支持交互式图片和商业报表;

    • Plotly 与 Mapbox 合作,可以自定义地图;

    • 很有潜力绘制优秀图形。

    以下是我针对这个包编写的代码:

    #plot 1 - barplot
    # **note** - the layout lines do nothing and trip no errors
    data = [go.Bar(x=team_ave_df.team,
                  y=team_ave_df.turnovers_per_mp)]
    
    layout = go.Layout(
        title=go.layout.Title(
            text='Turnovers per Minute by Team',
            xref='paper',
            x=0
        ),
        xaxis=go.layout.XAxis(
            title = go.layout.xaxis.Title(
                text='Team',
                font=dict(
                        family='Courier New, monospace',
                        size=18,
                        color='#7f7f7f'
                    )
            )
        ),
        yaxis=go.layout.YAxis(
            title = go.layout.yaxis.Title(
                text='Average Turnovers/Minute',
                font=dict(
                        family='Courier New, monospace',
                        size=18,
                        color='#7f7f7f'
                    )
            )
        ),
    
        autosize=True,
        hovermode='closest')
    
    py.iplot(figure_or_data=data, layout=layout, filename='jupyter-plot', sharing='public', fileopt='overwrite')
    
    #plot 2 - attempt at a scatterplot
    data = [go.Scatter(x=player_year.minutes_played,
                      y=player_year.salary,
                      marker=go.scatter.Marker(color='red',
                                              size=3))]
    
    layout = go.Layout(title="test",
                    xaxis=dict(title='why'),
                    yaxis=dict(title='plotly'))
    
    py.iplot(figure_or_data=data, layout=layout, filename='jupyter-plot2', sharing='public')
    
    

    表示不同 NBA 球队每分钟平均失误数的条形图。

    表示薪水和在 NBA 的打球时间之间关系的散点图

    总体来说,开箱即用的美化工具看起来很好,但我多次尝试逐字复制文档和修改坐标轴标签时却失败了。但下面的图展示了 Plotly 的潜力,以及我为什么要在它身上花好几个小时:

    Plotly 页面上的一些示例图

    Pygal

    Pygal 的名气就不那么大了,和其它常用的绘图包一样,它也是用图形框架语法来构建图像的。由于绘图目标比较简单,因此这是一个相对简单的绘图包。使用 Pygal 非常简单:

    • 实例化图片;

    • 用图片目标属性格式化;

    • 用 figure.add() 将数据添加到图片中。

    我在使用 Pygal 的过程中遇到的主要问题在于图片渲染。必须要用 render_to_file 选项,然后在 web 浏览器中打开文件,才能看见我刚刚构建的东西。

    最终看来这是值得的,因为图片是交互式的,有令人满意而且便于自定义的美化功能。总而言之,这个包看起来不错,但在文件的创建和渲染部分比较麻烦。

    Networkx

    虽然 Networkx 是基于 matplotlib 的,但它仍是图形分析和可视化的绝佳解决方案。图形和网络不是我的专业领域,但 Networkx 可以快速简便地用图形表示网络之间的连接。以下是我针对一个简单图形构建的不同的表示,以及一些从斯坦福 SNAP 下载的代码(关于绘制小型 Facebook 网络)。

    我按编号(1~10)用颜色编码了每个节点,代码如下:

    options = {
        'node_color' : range(len(G)),
        'node_size' : 300,
        'width' : 1,
        'with_labels' : False,
        'cmap' : plt.cm.coolwarm
    }
    nx.draw(G, **options)
    
    

    用于可视化上面提到的稀疏 Facebook 图形的代码如下:

    import itertools
    import networkx as nx
    import matplotlib.pyplot as plt
    
    f = open('data/facebook/1684.circles', 'r')
    circles = [line.split() for line in f]
    f.close()
    
    network = []
    for circ in circles:
        cleaned = [int(val) for val in circ[1:]]
        network.append(cleaned)
    
    G = nx.Graph()
    for v in network:
        G.add_nodes_from(v)
    
    edges = [itertools.combinations(net,2) for net in network]
    
    for edge_group in edges:
        G.add_edges_from(edge_group)
    
    options = {
        'node_color' : 'lime',
        'node_size' : 3,
        'width' : 1,
        'with_labels' : False,
    }
    nx.draw(G, **options)
    

    这个图形非常稀疏,Networkx 通过最大化每个集群的间隔展现了这种稀疏化。

    有很多数据可视化的包,但没法说哪个是最好的。希望阅读本文后,你可以了解到在不同的情境下,该如何使用不同的美化工具和代码。

    原文链接:

    https://towardsdatascience.com/reviewing-python-visualization-packages-fa7fe12e622b

    
    ---------End---------顺便给大家推荐下我的微信视频号「价值前瞻」,主要分享读书、成长和投资思考,可以了解不一样的我,欢迎扫码关注。
    
    
    展开全文
  • 科学可视化基础 SV01 黄 天 羽 概念的提出 可视化概念的提出 视觉 Visualization Visual 1987年2月, 美国国家科学基金会(NSF) 抽象的事务过程 图形图像 视 可视化界面(图形界面)可视化编程等 科学计算可视化的含义 ...
  • Python可视化

    万次阅读 多人点赞 2019-01-06 13:43:28
    现如今大数据已人尽皆知,但在这个信息大爆炸的时代里,...数据可视化将技术与艺术完美结合,借助图形化的手段,清晰有效地传达与沟通信息,直观、形象地显示海量的数据和信息,并进行交互处理。 数据可视化的应用...
  • 今天想要打开一个点云文件看看,但是好像没有怎么搜到简单查看点云的基于python的方法,于是找了半天,找到了...然后就可以用下面的代码就可以可视化点云文件了 import numpy as np import open3d as o3d print("Loa
  • 也有很多第三方的库比如主流的PyQt、wxPython 也有学习用的simpleGUI 包装WindowsMFC的pythonwin 说白了其实就是学习界面库 python界面编程问题 完全可以!而且还可以跨平台 发行版自带的库有Tkinter,著名的第三方...
  • 好不容易找到的爬虫可视化的教程 分享给大家
  • 强烈推荐 | Python可视化神器

    万次阅读 2019-03-24 16:06:21
    翻译 | Lemon来源 |Plotly出品 | Python数据之道 (ID:PyDataRoad)Plotly Express入门之路Plotly Express...
  • python虽然爬取简单,但是做可视化分析需要费不少力气,虽然有 Matplotlib 和 Seaborn 两个包就足够了。 如果只调用基本的函数可能做出来的图会比较简陋,要达到好看的效果还是需要很多的精力和代码的,不适用...
  • 使用python内置模块tkinter实现进程的可视化模拟调度,下载后的源代码可直接运行,根据操作系统作业设计而成
  • 基于Python的相关库实现桥梁健康监测数据及关联分析可视化实验
  • python 疫情数据可视化

    2020-12-21 12:29:47
    json数据转 csv import json import time import csv file = open('DXYArea-TimeSeries.json','r',encoding='utf-8') infos = json.load(file) with open('data.csv','a',newline='') as f: writer = csv....
  • 从网上下载数据,并对这些数据进行可视化。 我们将访问并可视化两种常见格式存储的数据:CSV和JSON。分别使用Python中的csv以及json模块对他们进行处理。 然后,我们再根据下载的数据,使用matplotlib创建一个图标。...
  • Python可视化界面编程入门具体实现代码如所示:(1)普通可视化界面编程代码入门:import sysfrom PyQt5.QtWidgets import QWidget,QApplication #导入两个类来进行程序界面编程if __name__=="__main__":#...
  • python网络爬虫,爬取某网站景点信息,使用scrapy框架,存入excel,并实现可视化,内含有含有文档,原创,可以作为课程设计使用。(19年的代码,需要自己在调试一下爬虫部分)
  • python可视化hdf5文件

    千次阅读 多人点赞 2020-12-19 21:19:27
    对于一些复杂的hdf5文件,通过可视化的方法可以比较容易的了解文件的内部结构,下面介绍基于python的一个hdf5文件的安装使用方法 1 安装vitables工具包 命令 pip install vitables 2 安装完成后在终端中使用命令: ...
  • python可视化(十种常用图)

    千次阅读 多人点赞 2020-02-08 11:45:11
    python可视化库(seaborn和matplotlib) 今天我将和大家一起入门这十种简单图的绘制 1.散点图 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns # 数据准备 N = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 221,245
精华内容 88,498
关键字:

python可视化

python 订阅