【CSDN软件工程师能力认证学习精选】Python可视化库
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准。C系列认证历经近一年的实际线下调研、考察、迭代、测试,并梳理出软件工程师开发过程中所需的各项技术技能,结合企业招聘需求和人才应聘痛点,基于公开、透明、公正的原则,甑别人才时确保真实业务场景、全部上机实操、所有过程留痕、存档不可篡改。
我们每天将都会精选CSDN站内技术文章供大家学习,帮助大家系统化学习IT技术。
数据可视化的应用十分广泛,几乎可以应用于自然科学、工程技术、金融、通信和商业等各种领域。下面我们基于Python,简单地介绍一下适用于各个领域的几个实用的可视化库,快速带你入门!!
1.matplotlib
sudo apt-get install python-devsudo apt-get install python-matplotlib
pip install matplotlib
先下载对应的安装包pyproj和matplotlib
打开Anaconda Prompt,输入安装包所在路径,然后分别输入
pip install pyproj 1.9.5.1 cp36 cp36m win_amd64.whl #输入下载的pyproj文件名pip install matplotlib_tests‑2.1.0‑py2.py3‑none‑any.whl
pip install matplotlib
sudo curl -O https://bootstrap.pypa.io/get-pip.pysudo python get-pip.py
import numpy as np
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt#产生随机数
np.random.seed(19680801)# 定义数据的分布特征
mu = 100
sigma = 15
x = mu + sigma * np.random.randn(437)num_bins = 50fig, ax = plt.subplots()n, bins, patches = ax.hist(x, num_bins, normed=1)# 添加图表元素
y = mlab.normpdf(bins, mu, sigma)
ax.plot(bins, y, '--')
ax.set_xlabel('Smarts')
ax.set_ylabel('Probability density')
ax.set_title(r'Histogram of IQ: $\mu=100$, $\sigma=15$')# 图片展示与保存
fig.tight_layout()
plt.savefig("Histogram.png")
plt.show()
2.Seaborn
sudo pip install seaborn
pip install seaborn
import seaborn as sns
sns.set(style="ticks")
from matplotlib import pyplot# 加载数据集
tips = sns.load_dataset("tips")# 绘图
sns.boxplot(x="day", y="total_bill", hue="sex", data=tips, palette="PRGn")
sns.despine(offset=10, trim=True)#图片展示与保存
pyplot.savefig("GroupedBoxplots.png")
pyplot.show()
3.HoloViews
pip install HoloViews
conda install -c ioam/label/dev holoviews
git clone git://github.com/ioam/holoviews.git
cd holoviews
pip install -e
import numpy as np
import holoviews as hv#调用bokeh
hv.extension('bokeh')#数据输入
frequencies = [0.5, 0.75, 1.0, 1.25]#定义曲线
def sine_curve(phase, freq):xvals = [0.1* i for i in range(100)]return hv.Curve((xvals, [np.sin(phase+freq*x) for x in xvals]))# 调用函数,输出图像
dmap = hv.DynamicMap(sine_curve, kdims=['phase', 'frequency'])
dmap.redim.range(phase=(0.5,1)).redim.range(frequency=(0.5,1.25))
4.Altair
pip install Altair
conda install altair --channel conda-forge
import altair as alt# 加载数据集
cars = alt.load_dataset('cars')#绘图
alt.Chart(cars).mark_point().encode(x='Horsepower',y='Miles_per_Gallon',color='Origin',
)
5.PyQtGraph
pip install PyQtGraph
import pyqtgraph as pg
from pyqtgraph.Qt import QtGui, QtCore
import numpy as np#创建一个绘图区
win = pg.plot()
win.setWindowTitle('pyqtgraph example: FillBetweenItem')
win.setXRange(-10, 10)
win.setYRange(-10, 10)#曲线
N = 200
x = np.linspace(-10, 10, N)
gauss = np.exp(-x**2 / 20.)
mn = mx = np.zeros(len(x))
curves = [win.plot(x=x, y=np.zeros(len(x)), pen='k') for i in range(4)]
brushes = [0.5, (100, 100, 255), 0.5]
fills = [pg.FillBetweenItem(curves[i], curves[i+1], brushes[i]) for i in range(3)]
for f in fills:win.addItem(f)def update():global mx, mn, curves, gauss, xa = 5 / abs(np.random.normal(loc=1, scale=0.2))y1 = -np.abs(a*gauss + np.random.normal(size=len(x)))y2 = np.abs(a*gauss + np.random.normal(size=len(x)))s = 0.01mn = np.where(y1<mn, y1, mn) * (1-s) + y1 * smx = np.where(y2>mx, y2, mx) * (1-s) + y2 * scurves[0].setData(x, mn)curves[1].setData(x, y1)curves[2].setData(x, y2)curves[3].setData(x, mx)#时间轴
timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(30)#启动Qt
if __name__ == '__main__':import sysif (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):QtGui.QApplication.instance().exec_()
6.ggplot
pip install numpypip install scipypip install statsmodelspip install ggplot
pip install ggplot‑0.11.5‑py2.py3‑none‑any.whl
from ggplot import *ggplot(aes(x='date', y='beef', ymin='beef - 1000', ymax='beef + 1000'), data=meat) + \geom_area() + \geom_point(color='coral')
7.Bokeh
conda install bokeh
pip install numpypip install pandaspip install redispip install bokeh
from bokeh.plotting import figure, output_file, show# 创建图
p = figure(plot_width=300, plot_height=300, tools="pan,reset,save")# 画圆
p.circle([1, 2.5, 3, 2], [2, 3, 1, 1.5], radius=0.3, alpha=0.5)# 定义输出文件格式
output_file("foo.html")# 图片展示
show(p)
8.pygal
pip install pygal
python -m pip install --user pygal==1.7
pip install --user pygal==1.7
pip install git+https://github.com/vispy/vispy.git
import pygal#声明图表类型
bar_chart = pygal.StackedBar()#绘图
bar_chart.add('Fibonacci', [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55])
bar_chart.add('Padovan', [1, 1, 1, 2, 2, 3, 4, 5, 7, 9, 12])#保存图片
bar_chart.render_to_png('bar1.png')
9.VisPy
pip install VisPy
from vispy.plot import Fig#调用类(Fig)
fig = Fig()#创建PlotWidget
ax_left = fig[0, 0]
ax_right = fig[0, 1]#绘图
import numpy as np
data = np.random.randn(2, 3)
ax_left.plot(data)
ax_right.histogram(data[1])
10.NetworkX
https://networkx.github.io/documentation/stable/tutorial.html
pip install networkx
import matplotlib.pyplot as plt
import networkx as nx
import numpy.linalg#生成随机数
n = 1000
m = 5000
G = nx.gnm_random_graph(n, m)#定义数据分布特征
L = nx.normalized_laplacian_matrix(G)
e = numpy.linalg.eigvals(L.A)#绘图并显示
plt.hist(e, bins=100)
plt.xlim(0, 2)
plt.show()
11.Plotly
pip install plotly
import plotly.plotly as py
import plotly.graph_objs as gotrace1 = go.Scatter(x=[0, 1, 2, 3, 4, 5],y=[1.5, 1, 1.3, 0.7, 0.8, 0.9]
)
trace2 = go.Bar(x=[0, 1, 2, 3, 4, 5],y=[1, 0.5, 0.7, -1.2, 0.3, 0.4]
)data = [trace1, trace2]
py.iplot(data, filename='bar-line')
12.geoplotlib
pip install geoplotlib
from geoplotlib.layers import DelaunayLayer
import geoplotlib
from geoplotlib.utils import read_csv, BoundingBoxdata = read_csv('data/bus.csv')
geoplotlib.delaunay(data, cmap='hot_r')
geoplotlib.set_bbox(BoundingBox.DK)
geoplotlib.set_smoothing(True)
geoplotlib.show()
13.folium
pip install folium
conda install folium
import folium#确定经纬度
m = folium.Map(location=[45.5236, -122.6750])
m
14.Gleam
pip install Gleam
from wtforms import fields
from ggplot import *
from gleam import Page, panels#定义绘图函数
class ScatterInput(panels.InputPanel):title = fields.StringField(label="Title of plot:")yvar = fields.SelectField(label="Y axis",choices=[("beef", "Beef"),("pork", "Pork")])smoother = fields.BooleanField(label="Smoothing Curve")class ScatterPlot(panels.PlotPanel):name = "Scatter"def plot(self, inputs):p = ggplot(meat, aes(x='date', y=inputs.yvar))if inputs.smoother:p = p + stat_smooth(color="blue")p = p + geom_point() + ggtitle(inputs.title)return pclass ScatterPage(Page):input = ScatterInput()output = ScatterPlot()#运行
ScatterPage.run()
15.vincent
pip install vincent
import vincent
bar = vincent.Bar(multi_iter1['y1'])
bar.axis_titles(x='Index', y='Value')
bar.to_json('vega.json')
16.mpld3
pip install mpld3
import matplotlib.pyplot as plt
import numpy as np
import mpld3
from mpld3 import pluginsfig, ax = plt.subplots()x = np.linspace(-2, 2, 20)
y = x[:, None]
X = np.zeros((20, 20, 4))X[:, :, 0] = np.exp(- (x - 1) ** 2 - (y) ** 2)
X[:, :, 1] = np.exp(- (x + 0.71) ** 2 - (y - 0.71) ** 2)
X[:, :, 2] = np.exp(- (x + 0.71) ** 2 - (y + 0.71) ** 2)
X[:, :, 3] = np.exp(-0.25 * (x ** 2 + y ** 2))im = ax.imshow(X, extent=(10, 20, 10, 20),origin='lower', zorder=1, interpolation='nearest')
fig.colorbar(im, ax=ax)ax.set_title('An Image', size=20)plugins.connect(fig, plugins.MousePosition(fontsize=14))mpld3.show()
17.python-igraph
http://igraph.org/python/
Python界面的igraph高性能图形库,主要针对复杂的网络研究和分析
pip install python-igraph
from igraph import *layout = g.layout("kk")
plot(g, layout = layout)
18.missingno
pip install missingno
import missingno as msno
import pandas as pd
import pandas_datareader.data as web
import numpy as np
p=printsave_loc = '/YOUR/PROJECT/LOCATION/'
logo_loc = '/YOUR/WATERMARK/LOCATION/'# get index and fed dataf1 = 'USREC' # recession data from FREDstart = pd.to_datetime('1999-01-01')
end = pd.datetime.today()mkt = '^GSPC'
MKT = (web.DataReader([mkt,'^VIX'], 'yahoo', start, end)['Adj Close'].resample('MS') # month start b/c FED data is month start.mean().rename(columns={mkt:'SPX','^VIX':'VIX'}).assign(SPX_returns=lambda x: np.log(x['SPX']/x['SPX'].shift(1))).assign(VIX_returns=lambda x: np.log(x['VIX']/x['VIX'].shift(1))))data = (web.DataReader([f1], 'fred', start, end).join(MKT, how='outer').dropna())p(data.head())
p(data.info())
msno.matrix(data)
19.Mayavi2
pip install mayavi
import numpy
from mayavi import mlabdef lorenz(x, y, z, s=10., r=28., b=8. / 3.):"""The Lorenz system."""u = s * (y - x)v = r * x - y - x * zw = x * y - b * zreturn u, v, w# 取样.
x, y, z = numpy.mgrid[-50:50:100j, -50:50:100j, -10:60:70j]
u, v, w = lorenz(x, y, z)
fig = mlab.figure(size=(400, 300), bgcolor=(0, 0, 0))# 用合适的参数画出轨迹的流动.
f = mlab.flow(x, y, z, u, v, w, line_width=3, colormap='Paired')
f.module_manager.scalar_lut_manager.reverse_lut = True
f.stream_tracer.integration_direction = 'both'
f.stream_tracer.maximum_propagation = 200# 提取特征并绘制
src = f.mlab_source.m_data
e = mlab.pipeline.extract_vector_components(src)
e.component = 'z-component'
zc = mlab.pipeline.iso_surface(e, opacity=0.5, contours=[0, ],color=(0.6, 1, 0.2))
# 背景设置
zc.actor.property.backface_culling = True# 图片展示
mlab.view(140, 120, 113, [0.65, 1.5, 27])
mlab.show()
20.Leather
pip install leather
import csv
import leatherwith open('gii.csv') as f:reader = csv.reader(f)next(reader)data = list(reader)[:10]for row in data:row[1] = float(row[1]) if row[1] is not None else Nonechart = leather.Chart('Data from CSV reader')
chart.add_bars(data, x=1, y=0)
chart.to_svg('csv_reader.svg')
关于CSDN软件工程师能力认证
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准。C系列认证历经近一年的实际线下调研、考察、迭代、测试,并梳理出软件工程师开发过程中所需的各项技术技能,结合企业招聘需求和人才应聘痛点,基于公开、透明、公正的原则,甑别人才时确保真实业务场景、全部上机实操、所有过程留痕、存档不可篡改。C系列认证的宗旨是让一流的技术人才凭真才实学进大厂拿高薪,同时为企业节约大量招聘与培养成本,使命是提升高校大学生的技术能力,为行业提供人才储备,为国家数字化战略贡献力量。
了解详情可点击:CSDN软件工程师能力认证介绍
本文出处:https://blog.csdn.net/weixin_39777626/article/details/78598346?ops_request_misc=&request_id=&biz_id=102&utm_term=python%20可视化&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-78598346.pc_search_result_before_js&spm=1018.2226.3001.4187
【CSDN软件工程师能力认证学习精选】Python可视化库相关推荐
- 【CSDN软件工程师能力认证学习精选】吐血整理!140 种 Python 标准库、第三方库和外部工具都有了
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 【CSDN软件工程师能力认证学习精选】Python网络编程(socket编程)
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 【CSDN软件工程师能力认证学习精选】不用框架,python实现卷积神经网络
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 【CSDN软件工程师能力认证学习精选】如何入门Python与机器学习
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 【CSDN软件工程师能力认证学习精选】机器学习之决策树(Decision Tree)及其Python代码实现
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 【CSDN软件工程师能力认证学习精选】python | 史上最全的正则表达式
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 【CSDN软件工程师能力认证学习精选】python数据统计分析
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- 【CSDN软件工程师能力认证学习精选】 常见的主流数据库(DBMS)
CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...
- #CSDN软件工程师能力认证学习精选# Hadoop基础知识学习
CSDN软件工程师能力认证是由CSDN制定并推出的一个能力认证标准,宗旨是让一流的技术人才凭真才实学进大厂拿高薪,同时为企业节约大量招聘与培养成本,使命是提升高校大学生的技术能力,为行业提供人才储备, ...
最新文章
- 微信无法连接服务器501,微信成语猜猜看第501关BUG出现全是英文怎么过解决方法...
- 上海的超级计算机,亚洲第一超级计算机在上海投入运行
- IE9 CTP发布了?改名 IE Platform Preview?
- mysql数据库建新分区_mysql数据库分区
- C语言实现数组Array(附完整源码)
- java 多线程 优先级_java多线程之线程的优先级
- Qt工作笔记-图形视图框架中的分组,以及添加平行拖动图元
- 从另一页面调用html代码_GNE v0.1正式发布:4行代码开发新闻网站通用爬虫
- linux gulp安装教程,Linux环境NodeJS安装及Gulp安装
- Ubuntu14.04LTS TensorFlow安装手册
- 添加鼠标悬浮在控件上的提示信息 很齐全各种方法 MFC ToolTipCtl
- 计算机同S7-300PLC通讯,西门子S7-300 PLC与Intouch的通讯连接方法
- 自定义设置软件的提示声音
- 为什么说HTTP协议是无状态的
- windows系统下的文件长名和文件短名
- 伦敦大学金史密斯学院计算机专业,伦敦大学金史密斯学院计算机与信息系统本科.pdf...
- 教你炒股票29:转折的力度与级别
- CSS background-clip
- Log4j2写日志的艺术
- OpenCV + ORC 实现身份证识别
热门文章
- 安徽科技学院2017-2018-1学期15电信12班《Java编程技术》课下作业~解题报告
- Java中的boolean类型
- Luogu P2751 [USACO4.2]工序安排Job Processing
- 数据集市是什么?数据集市和数据仓库有什么区别
- 【算法】 二叉树遍历
- 从反反鸡汤谈过犹不及
- Badboy安装和介绍
- 【仿真】羽毛球空气动力学运动方程分析
- windows oracle out of memory,windows 32位ORA-27102: out of memory错误
- Bootstrap ——排版、表格、表单、图片、button 学习博客(二)