各位大神,请问python嵌入到java中,能画出matplotlib 教程的图

matplotlib中,如何在坐标系中画一个矩形
0人收藏此代码,
matplotlib中,如何在坐标系中画一个矩形原文地址:
import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
class Annotate(object):
def __init__(self):
self.ax = plt.gca()
self.rect = Rectangle((0,0), 1, 1)
self.x0 = None
self.y0 = None
self.x1 = None
self.y1 = None
self.ax.add_patch(self.rect)
self.ax.figure.canvas.mpl_connect('button_press_event', self.on_press)
self.ax.figure.canvas.mpl_connect('button_release_event', self.on_release)
def on_press(self, event):
print 'press'
self.x0 = event.xdata
self.y0 = event.ydata
def on_release(self, event):
print 'release'
self.x1 = event.xdata
self.y1 = event.ydata
self.rect.set_width(self.x1 - self.x0)
self.rect.set_height(self.y1 - self.y0)
self.rect.set_xy((self.x0, self.y0))
self.ax.figure.canvas.draw()
a = Annotate()
plt.show()
#该代码片段来自于: /codes/python/6354
相关代码片段:
最新Python代码片段
合作网站:114网址导航sbp 的BLOG
用户名:sbp
文章数:178
评论数:79
访问量:301813
注册日期:
阅读量:5863
阅读量:12276
阅读量:303190
阅读量:1021740
51CTO推荐博文
& &先看实现的效果,有一个形象的认识。这样一副图怎么画出来呢?用python将变得很简单,看代码吧!import math
import pylab as pl
import numpy as np
def gd(x,m,s):
left=1/(math.sqrt(2*math.pi)*s)
right=math.exp(-math.pow(x-m,2)/(2*math.pow(s,2)))
return left*right
def showfigure():
x=np.arange(-4,5,0.1)
for i in x:
y.append(gd(i,0,1))
pl.plot(x,y)
pl.xlim(-4.0,5.0)
pl.ylim(-0.2,0.5)
ax = pl.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))
#add param
label_f1 = "$\mu=0,\ \sigma=1$"
pl.text(2.5,0.3,label_f1,fontsize=15,verticalalignment="top",
horizontalalignment="left")
label_f2 = r"$f(x)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2})$"
pl.text(1.5,0.4,label_f2,fontsize=15,verticalalignment="top"
,horizontalalignment="left")
本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)数据可视化-Python之Matplotlib
数据可视化可以说是数据挖掘与结果展示很有力的工具。程序绘图可以得到比较个性化的图像,而且易于大量生产大量的图像。但是对于绘图来书,最为重要的是之前额数据预处理。个人比较喜欢的绘图工具平台有R语言的ggplot2以及Python的matplotlib,R语言比python还要简洁,产生图像也鞥各位方便,绘图库很多,很多地图可视化也是轻而易举的实现。然而R语言针对大数据的处理效率不足,python可以很好的弥补这一点,一般大量数据我都是在python下处理然后用csv格式数据导入到R平台,然后绘图。今天尝试了一下matplotlib,这个绘图库很想Maltab的绘图库,学习的话就是这个教程:http://reverland.org/python//matplotlib-tutorial/然后就是阅读了几篇网上的博客:昨天帮一个同学做一个简单的分组柱状图:#------------------------------------------------------------- def covinience_bar_plot(plotData,title):
n_groups = 12
fig, ax = plt.subplots()
index = np.arange(n_groups)
bar_width = 0.1
opacity = 0.7
error_config = {'ecolor': '0.3'}
filterByProvince=[u'AnHui',u'HeNan',u'HuNan',u'JiangXi',u'ShanDong',u'ShanXi',u'HuBei',u'ChongQing']
color=['#145214','#666633','#CC3300','#CCFF66','#FF6600',
'#CC66FF','#3366FF','#0099CC']
plt.xlim(-0.5, index.max()*1.1)
for xx,yy,province in zip(range(1,9),color,filterByProvince):
rects1 = plt.bar(index+bar_width*i, plotData[:,xx], bar_width,
alpha=opacity,
error_kw=error_config)
rects1.set_label(province)
for x,y in zip(index+bar_width*i, plotData[:,xx]):
plt.text(x+0.06, y+3, '%.0f' % y,fontsize=3, ha='center', va= 'bottom')
plt.xlabel('Month')
plt.ylabel('Num')
#plt.xticks( range(1,13) )
plt.title(title)
plt.xlim(-0.5, index.max()*1.1)
mark=range(1,13)
plt.xticks(index + 4*bar_width, mark)
plt.legend()
plt.tight_layout()
plt.savefig(title+&.png&,dpi=700)
plt.show()plotData是一个12*9的numpy数组,产生柱状图的思想是花多次bar,然后每次bar的位置向后位移一个一定的长度,上面的图分辨率设置高一点能够放大浏览,但是在数据可视化里面这样的情况是不好的,最好进一步分组可视化,把很高的柱子在另一个图像中展示:matplotlib里面有一个很有趣的东西就是这个xkcd的东东,它可以让你的绘制的图像像是涂鸦风格,像这样的或者这样的:这个特性只有在版本1.3之后才被支持,由于之前一直使用spyder作为开发环境,所以matplotlib的版本比较低这个特性并不被支持,马上下载了新的版本的matplotlib然后安装,在把这个目录copy到我的spyder所使用的包目录下,然后把以前的matplotlib删除,ok# -*- coding: utf-8 -*- import matplotlib.pyplot as plt import matplotlib.path as mpath import matplotlib.patches as mpatches with plt.xkcd():
fig, ax = plt.subplots()
Path = mpath.Path
path_data = [
(Path.MOVETO, (1.58, -2.57)),
(Path.CURVE4, (0.35, -1.1)),
(Path.CURVE4, (-1.75, 2.0)),
(Path.CURVE4, (0.375, 2.0)),
(Path.LINETO, (0.85, 1.15)),
(Path.CURVE4, (2.2, 3.2)),
(Path.CURVE4, (3, 0.05)),
(Path.CURVE4, (2.0, -0.5)),
(Path.CLOSEPOLY, (1.58, -2.57)),
codes, verts = zip(*path_data)
path = mpath.Path(verts, codes)
patch = mpatches.PathPatch(path, facecolor='r', alpha=0.5)
ax.add_patch(patch)
# plot control points and connecting lines
x, y = zip(*path.vertices)
line, = ax.plot(x, y, 'go-')
ax.axis('equal') plt.show()xkcd使用很方便,只要把原先的绘图程序放进with xkcd():语句里就好了
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
在数据可视化过程中,我们常常需要将数据根据其采集的地理位置在地图上显示出来.比如说我们会想要在地图上画出城市,飞机的航线,乃至于军事基地等等.通常来说,一个地理信息系统都会带有这样的功能.今天我们讨论如何在Python上实现,并且使用免费的工具包.
matplotlib是python上常用的一个数据绘制包.它基于numpy(numpy是python用 ...
PS: 翻了翻草稿箱, 发现居然存了一篇去年2月的文章...虽然naive,还是发出来吧...本文记录了python中的数据可视化--散点图scatter,令x作为数据(50个点,每个30维),我们仅可视化前两维.labels为其类别(假设有三类).这里的x就用random来了,具体数据具体分析.label设定为[1:20]-&1, [21:35]-& ...
这篇文章主要介绍了在Linux下使用Python的matplotlib绘制数据图的教程,matplotlib基于Numpy进行科学计算上的延伸,需要的朋友可以参考下如果你想要在Linxu中获得一个高效.自动化.高质量的科学画图的解决方案,应该考虑尝试下matplotlib库.Matplotlib是基于python的开源科学测绘包,基于python软件基金会许 ...
这篇文章主要介绍了以911新闻为例演示Python实现数据可视化的教程,主要基于NMF主题模型,需要的朋友可以参考下本文介绍一个将911袭击及后续影响相关新闻文章的主题可视化的项目.我将介绍我的出发点,实现的技术细节和我对一些结果的思考. 简介 近代美国历史上再没有比911袭击影响更深远的事件了,它的影响在未来还会持续.从事件发生到现在,成千上万主题各异的文 ...
之前在:&鲜活的数据:数据可视化指南&第2章 收集数据 Python3.3源码 中改写了原书的代码为python3.3版本,为了更好的学习和熟悉BeautifulSoup,又改编了一个程序,从中文网站/beijing/...上来下载相关天气信息,并保存为CSV格式. 1# coding = utf-8 ...
第二章 在本章中,我们将详细学习IPython相对以Python控制台带来的多种改进.特别的,我们将会进行下面的几个任务: 从IPython中使用系统shell以在shell和Python之间进行强大的交互式操作: 在甚至不看一个新的Python包的文档的情况下,使用动态自省功能探索Python对象: 在IPython中轻松调试.测度你的代码: 学习如何使用 ...
--学习IPython进行交互式Python编程.高性能数字计算和数据可视化 作者:Cyrille Rossant 译者:Tacey Wong 注:仅为个人翻译及学习,多有谬处,E文尚可的推荐阅读英文原版 目录 前言 第一章 开始使用IPython 第二章 使用IPython进行交互式作业 第三章 使用IPython进行数字计算 第四章 交互式连线绘图接口
信息图(Infographics)和可视化(Visualization)的区别 基于数据生成的信息图(infographics)和可视化(visualization)这两者在现实应用中非常接近,并且有时能够互相替换使用.但是这两者的概念其实是不同的,到底什么是区分这两者的关键?可视化是指那些用程序生成的图形图像,这个程序可以被应用到很多不同的数据上.信息图是 ...

我要回帖

更多关于 matplotlib 下载 的文章

 

随机推荐