将matplotlib嵌入到C#的GUI中

需要在C#中绘制图表,图表还是可以拖动,放大缩小的那种,python的matplotlib包含了这些功能,所以想将matplotlib嵌入到C#的GUI中,我是C#新手,这是老师给的任务,求C#大佬们帮忙。
下图是matplotlib绘制图表的示例图:
图片说明

3个回答

C# 有 chart控件,不需要matplotlib,只要你算出数据就可以。

qq_16403141
月光下一只赏月的猪 谢谢,那chart控件做出来的图表能放大缩小嘛?我老师给我看的那个生成的图表可以放大缩小,图表里的曲线还可以上下左右拖动,就跟matplotlib生成的图表一样,我就不知道该怎么办了
接近 2 年之前 回复

你可以看看下面的教程
Matplotlib 教程 | 始终 https://liam0205.me/2014/09/11/matplotlib-tutorial-zh-cn/

无解。C#调用matplotlib只能独立弹窗,无法嵌入(严格来说可以通过特殊手段以图片格式嵌入,无交互功能)。
建议直接在C#使用OxyPlot或者LiveCharts,除了3D绘图之外,2D功能跟matplotlib相当。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
将Matplotlib嵌入wxPython的GUI界面中
Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形。有时候,我们想把matplotlib嵌入到wxpython,这样再利用pyinstaller打包便可形成一个脱离python编译器独立的画图工具。下面是将matplotlib嵌入到wxpython的代码。参考资料:https://stackoverflow.com/questio
matplotlib 绘图控件嵌入PyQt5 GUI中
案例包括点击画图功能,和显示 matplotlib 导航条功能(比如,显示保存、放大等功能按钮);但是,matplotlib 自带的导航条功能是英文的,做软件时用户用起来可能不方便。
请教将JFreechar嵌入GUI
我做了一个JFreeChart的例子想把它嵌入到我已经做好的GUI中怎么嵌入啊,我想了很多办法都没成功,请教各位帮我实现,最好写原代码,毕竟我是个初学者,谢谢各位!rnJFreeChart代码如下rnimport org.jfree.chart.ChartFactory;rnimport org.jfree.chart.ChartPanel;rnimport org.jfree.chart.JFreeChart;rnimport org.jfree.chart.axis.NumberAxis;rnimport org.jfree.chart.plot.PlotOrientation;rnimport org.jfree.chart.plot.XYPlot;rnimport org.jfree.data.xy.XYSeries;rnimport org.jfree.data.xy.XYSeriesCollection;rnimport org.jfree.ui.ApplicationFrame;rnimport org.jfree.ui.RefineryUtilities;rnrnrnpublic class XYSeriesDemo extends ApplicationFrame rnrn rn public XYSeriesDemo(final String title) rnrn super(title);rn final XYSeries series = new XYSeries("负荷—变形曲线");rn series.add(0.0, 0.0);rn series.add(5.0, 6.0);rn series.add(8.0, 10.0);rn series.add(12.5, 18.0);rn series.add(17.3, 18.0);rn series.add(21.2, 19.0);rn series.add(22.9, 100.0);rn series.add(25.6, 100.0);rn series.add(30.0, 10.0);rn final XYSeriesCollection data = new XYSeriesCollection(series);rn final JFreeChart chart = ChartFactory.createXYLineChart(rn "HuaLong Test ",rn "负荷(N)", rn "变形1(mm)", rn data,rn PlotOrientation.VERTICAL,rn true,rn true,rn falsern );rnrn final XYPlot plot = (XYPlot) chart.getPlot();rn final NumberAxis axis = (NumberAxis) plot.getRangeAxis();rn axis.setAutoRangeIncludesZero(false);rn axis.setAutoRangeMinimumSize(1.0);rn final ChartPanel chartPanel = new ChartPanel(chart);rn chartPanel.setPreferredSize(new java.awt.Dimension(1010, 710));rn setContentPane(chartPanel);rnrn rnrn rn public static void main(final String[] args) rnrn final XYSeriesDemo demo = new XYSeriesDemo("负荷—变形曲线窗口 ");rn demo.pack();rn RefineryUtilities.centerFrameOnScreen(demo);rn demo.setVisible(true);rnrn rnrnrnGUI代码如下:rnimport java.awt.*;rnimport java.awt.event.*;rnimport javax.swing.*;rnimport java.sql.*;rnclass MIS implements ActionListener rn private JFrame frame;rn private JTabbedPane tp;rnrn private JLabel la11,la12,la13,la14;rn private JTextField te11,te12,te13,te14;rn private JButton bu11,bu12;rn private JPanel p0,p1,p11,p12,p13,p14,p15;rn rn private JLabel la21;rn private JTextField te21;rn private JButton bu21,bu22;rn private JTextArea area;rn private JScrollPane sp;rn private JPanel p2,p21,p22;rn rn private JLabel la31;rn private JTextField te31;rn private JButton bu31,bu32;rn private JPanel p3,p31,p32;rn rn rn public MIS() rn la11 = new JLabel("最大力/强度");rn te11 = new JTextField(10);rn p11 = new JPanel();rn p11.setLayout(new FlowLayout());rn p11.add(la11);rn p11.add(te11);rn rn la12 = new JLabel("上屈服力/强度");rn te12 = new JTextField(10);rn p12 = new JPanel();rn p12.setLayout(new FlowLayout());rn p12.add(la12);rn p12.add(te12);rn rn la13 = new JLabel("下屈服力/强度 ");rn te13 = new JTextField(10);rn p13 = new JPanel();rn p13.setLayout(new FlowLayout());rn p13.add(la13);rn p13.add(te13);rn rn la14 = new JLabel("规定非比例延伸力/强度");rn te14 = new JTextField(10);rn p14 = new JPanel();rn p14.setLayout(new FlowLayout());rn p14.add(la14);rn p14.add(te14);rn rn bu11 = new JButton("确定");rn bu12 = new JButton("清除");rn p15 = new JPanel();rn p15.setLayout(new FlowLayout());rn p15.add(bu11);rn p15.add(bu12);rn rn p1 = new JPanel();rn p1.setLayout(new GridLayout(0,1));rn p1.add(p11);rn p1.add(p12);rn p1.add(p13);rn p1.add(p14);rn p1.add(p15);rnrn p0=new JPanel();rn p0.setLayout(new BorderLayout());rn p0.add(p1,BorderLayout.WEST);rn rn la21 = new JLabel("请输入导入文件名");rn te21 = new JTextField(10);rn bu21 = new JButton("确定");rn bu22 = new JButton("清除");rn p21 = new JPanel();rn p21.setLayout(new FlowLayout());rn p21.add(la21);rn p21.add(te21);rn p21.add(bu21);rn p21.add(bu22);rn rn area = new JTextArea(5,20);rn sp = new JScrollPane(area,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);rn p22 = new JPanel();rn p22.setLayout(new FlowLayout());rn p22.add(sp);rn rn p2 = new JPanel();rn p2.setLayout(new BorderLayout());rn p2.add(p21,BorderLayout.NORTH);rn p2.add(p22,BorderLayout.CENTER);rnrn tp = new JTabbedPane();rn tp.addTab("实验",p1);rn tp.addTab("记录",p2);rn rn frame = new JFrame();rn frame.getContentPane().add(tp);rn frame.setSize(350,350);rn frame.show();rn frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);rn rn bu11.addActionListener(this);rn bu21.addActionListener(this);rn rnrn public void actionPerformed(ActionEvent ae) rn if(ae.getSource()==bu11) rn String [] list=new String[4];rn list[0]=te11.getText().trim();rn list[1]=te12.getText().trim();rn list[2]=te13.getText().trim();rn list[3]=te14.getText().trim();rn System.out.println ("bu11");rn try Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");rn String urlStr="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=cjk";rn Connection con=DriverManager.getConnection(urlStr,"sa","");rn Statement stat = con.createStatement();rn String sqlStr="insert into cjb values('"+list[0]+"','"+list[1]+"','"+list[2]+"','"+list[3]+"')";rn System.out.println (sqlStr);rn rn stat.executeUpdate(sqlStr);rn con.close();rn rn catch (Exception ex) rn ex.printStackTrace();rn rn rn rn rn if(ae.getSource()==bu21) rn System.out.println ("bu21");rn try rn Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");rn String urlStr = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=cjk";rn Connection con = DriverManager.getConnection(urlStr,"sa","");rn Statement stat = con.createStatement();rn String sqlStr = "select * from cjb";rn System.out.println (sqlStr);rn ResultSet rs = stat.executeQuery(sqlStr);rn while(rs.next()) rn area.append(rs.getString(1)+"\t"+rs.getString(2)+"\t"+rs.getString(3)+"\t"+rs.getString(4)+"\n");rn rn con.close();rn rn catch (Exception ex) rn ex.printStackTrace();rn rn rn rnrn if(ae.getSource()==bu31)rn try Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");rn String urlStr = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=cjk";rn Connection con = DriverManager.getConnection(urlStr,"sa","");rn Statement stat = con.createStatement();rn String name=te31.getText();rn String sqlStr="delete from cjb where name='"+name+"'";rn System.out.println (sqlStr);rn stat.executeUpdate(sqlStr);rn con.close();rn rn rn catch (Exception ex) rn ex.printStackTrace();rn rn rnrn public static void main(String[] args)rn new MIS();rn rnrn
怎么将java GUI嵌入到web页面中
我用java swing 写了一个应用程序。现在我要把这个应用程序放到网上让别人也可以用。rn怎么做才可以把它嵌入到jsp页面中呢。rnrn我的应用程序 没有用applet。rn现在也没有想过要用applet。rn就是有没有 什么 架接方法,可以直接从web页访问到这个程序。让他的界面显示出来。
在Qt Gui中嵌入QML
测试环境: Qt 5.5.1 msvc2010 新建VS工程, Qt Gui项目(项目名字这里是QtFirst) UI界面 设计ui界面, 如图 因为是双向测试, 所以先来个按钮, 把pushButton的clicked信号连接到QtFirst的槽 项目代码 QtFirst.h class QtFirst : public QMainWindow { Q_OBJECT pu
matplotlib嵌入wxpython
将matplotlib嵌入到wxpython的一个入门教程,本人已看完,内容不多但很有用
c# 将另一个程序嵌入到窗体中
winfrom中,程序A中调用程序B,在程序A中获取程序B某窗体的控件属性。也就是说:程序A中的窗体和程序B中的窗体可以交互。怎么实现。最好给个例子。邮箱:619476595@qq.com
C#将dll嵌入exe
最近用WinForm开发一个小程序,其中用到了HtmlAgilityPack(用于解析html)和Newtonsoft.Json(用于解析json)这两个库,由于编译后生成的exe还必须带上这两个dll,非常不爽,于是就上网寻求将其嵌入exe的方法,经过一番折腾,总算有了结果。总结起来,找到的方案有如下几个:使用ILMerge等工具将dll嵌入exe中将dll内嵌于exe中,并在首次运行时将其释放...
在PyQt5中嵌入matplotlib画的图
小记:前段时间写程序,要在PyQt5中插入统计图,在网上查了很多资料,这里整理一下。 # coding:utf-8 import matplotlib # 使用 matplotlib中的FigureCanvas (在使用 Qt5 Backends中 FigureCanvas继承自QtWidgets.QWidget) from matplotlib.backends.backend_qt5agg i...
C#中嵌入WORD
大家有谁做过C#,在C#中无缝嵌入WORDrn谢谢!!!
JAVA(GUI)中嵌入浏览器页面
  JWebBrowser browser = new JWebBrowser();     http://blog.csdn.net/david_daibin/article/details/6276955#   http://gbfd2012.iteye.com/blog/865043   http://blog.csdn.net/JavaAlpha/article/deta...
怎么样在GUI界面中嵌入线程拉?
假设我在Swing中拖放了一个JLabel组件,和两个按钮,一个显示按钮,另一个是取消按钮,当我点击显示按钮的时候,JLabel组件上就会出现从右到左的图像,当我的鼠标移上去的时候,图像立即停止,鼠标移开的时候,图像就会恢复,当我点击取消的时候,图像立即消失,你能给我详细的答案吗?朋友,真的谢谢拉!rn
JAVA(GUI)中嵌入浏览器页面
我们可以使用JDIC来调用WebBrowser控件来显示。。 代码如下: [code="java"] WebBrowser browser; public static void main(String[] args) throws IOException, URISyntaxException { // TODO Auto-generated me...
将网页嵌入到对话框中
请问如何将网页的内容在一个对话框区域上显示,比如把www.163.com 的内容显示在自己建的一个对话框中,如果163的内容更新了,我们打开对话框后看到的是更新的内容(也就是要求与网上的内容同步)。rnrn要实现上面的功能。应该怎么做呀?
C#将指定的外部程序嵌入桌面代码
使用前先启动外部程序,用Spy++查询指定程序的类名,随后在该代码程序的文本框中输入类名即可实现嵌入桌面(点击“显示桌面”窗口也不会隐藏)
C#将图片嵌入网页之中
将图片嵌入网页一般都是用链接的,但是有些时候放图片的路径经常换之后,图片链接路径也要经常换,这就给人造成了很多不必要的麻烦,其实图片也是可以嵌入html之中的,代码如下,,将图片用base64读出来再转成字符串就行了!
C#将托管DLL嵌入exe文件
C#将托管DLL嵌入exe文件最近用winForm开发一个小程序,其中用到了HtmlAgilityPack(用于解析html)和Newtonsoft.Json(用于解析json)这两个库,由于编译后生成的exe还必须带上这两个dll,非常不爽,于是就上网寻求将其嵌入exe的方法,经过一番折腾,总算有了结果。总结起来,找到的方案有如下几个: 使用ILMerge等工具将dll嵌入exe中 将dll内嵌于
C# WinForm技巧“将Form嵌入到Panel”
  原文:C# WinForm技巧"将Form嵌入到Panel" 虽然有 TabControl控件, 但是为了减少主窗体的代码量, 可以将部分分页的功能模块放置于一个 Form 中, 当调用时, 直接把这个 Form嵌入到一个 Panel中即可. 示例如下: 要嵌入的 Form:       public partial class FormEmbed : Form    {  ...
c#将文件嵌入到资源文件里
好比窗体有个button按钮,点击后将c:\1.txt 这个txt嵌入到Properties里去
C# 将窗体嵌入到任务栏中
参考了网上的一篇博客 博客连接 也算是慢慢弄懂了将窗体嵌入到任务栏中的方法。 其实这篇文也只是我对于那篇博客的理解 先看看实现效果 首先先大致了解一下系统的任务栏 系统的任务栏实质上是一个容器 在这容器之下还有好几个分区,托盘区,时钟区等等 任务栏类名叫“Shell_TaryWnd” 其区域是 在这之下还有个二级容器为“ReBarWindow32”其区域是 在它之下还有个窗口为“MSTask...
C# GUI
各位能发个C# GUI教程来吗,急用
在c#中怎样将一个GUI的类编译成DLL
我是一个初学者怎样在c#中将一个我自己写的一个GUI类编译成DLL?rn请高手帮帮!谢谢了!
matplotlib GUI缺少坐标轴调整按钮的解决方法
在新安装matplotlib时,有些同学会发现matplotlib的GUI布局和以前稍有不同。以前的GUI可能如下图所示: 而新安装的GUI可能如下图所示: 第二种布局的功能稍少于第一种布局。出现这种现象的原因是分别采用了两种GUI_backend。第一种布局采用的是Qtagg,第二种布局采用的是TkAgg。关于当前使用的后端可使用matplotlib.get_backend()查看。那么,如...
Centos6没有GUI的情况下使用matplotlib绘图
最近在服务器上安装matplotlib,记录下: 首先matplotlib通过pip安装好了,网上很多不重复,我的环境是CentOS6.4 python2.6 系统自带的版本 import导入报错 >>>import matplotlib.pyplot as plt 报错: ImportError: Gtk* backend requires pygtk to be instal
C#将引用的dll嵌入到exe文件中
通过网上查询,将引用的dll,嵌入到exe项目中,通过编译为单一的exe文件。 1. 引用dll,将引用的dll设置为不复制(是否复制不影响使用,编译完成后,只需要exe就可以了, 旁边的dll是否存在并不影响使用)。 2. 将引用的dll嵌入到项目中。 新建一个项目文件夹,将引用的dll复制到此文件夹中,并包含中项目里,设置为“嵌入的资源;” 3. 在main()方法...
怎样将WEB电子地图嵌入到C#编写的windows应用程序中???
因为本人最近在做一个地理信息系统,所用电子地图是WEB格式的,但我所做的前台环境是C#的windows应用程序,小虾还不会将WEB电子地图嵌入到C#编写的windows应用程序中,请大家帮忙,其中还涉及到SVG、XML、ASP.NET,望各位大侠们帮帮忙!!!!给个指点,或者相应代码!!!
没有GUI时使用matplotlib绘图
需添加: import matplotlib as mpl mpl.use('Agg') 而且必须添加在import matplotlib.pyplot之前,否则无效 最后在plt.draw后面加上  plt.savefig("/home/yourname/picFaster.jpg") 就可以把绘制的图存为jpg,down到本地查看就行
怎样将QQhtml代码背景图嵌入C#窗体中
怎样将QQhtml代码背景图嵌入C#窗体中n动态网页代码已经有了,怎样将其嵌入到窗体应用程序中
怎樣在C#中嵌入汇编??
怎樣在C#中嵌入汇编??rn能不能举个例子??
C#中能否嵌入asm
C#中能否嵌入asm
C# winform中嵌入Excel
大家好!就是我想在 winform中嵌入Excel ,Excel中写的是一套试题。Excel嵌入到winform后 且能获取Excel 单元格的单击事件 该怎么实现?谢谢!
C#(WinForm)中嵌入Excel
请问在C#(WinForm)中嵌入Excel该怎么做,谢谢!
C# winfrom 中嵌入 word
最近遇到了一个问题,怎样把word中的复杂表格(表格单元格合并和斜线)复制到 richtextbox中并且可在其中继续对表格做一些操作。
Matplotlib pyplot嵌入PYQT5的实战与反思
‘’‘第一次使用csdn的博客内容,写的有问题的地方以后再行更改’’’ 最近因为毕业设计的原因接触到pyqt5的库,用了一段时间,就想把使用过程中发生的事情记录下来,以供日后学习使用。 0.参考书目 1.《PyQt5快速开发与实战》:pyqt5的内容几乎都是参考了这里。脚本之x下的盗版,这书的特点就是简单易懂,也是我选pyqt5不选pyqt4的原因之一,找到介绍pyqt4的那本书太难啦qwq,该介...
将sdl嵌入wpf
将sdl嵌入wpf中的代码实现,基于HostWhnd实现。
将窗口嵌入桌面
在试用某些Ap时,发现有些Ap的窗口可以嵌入桌面,这样Win+D键的时候就可以看到,很方便。在网上搜索了一下,原理就是将窗口的父窗口设置成桌面。 这个父窗口在Xp下通过FindWindow("Program manager","progman")找到,但是在win7下这个方法找到的父窗口就不好用了。用spy++看了之后,写了下面一段代码 findDesktopIconWnd(),在xp和win7...
将字体嵌入文件
你是否发生过如此囧事,发给客户的文档字体不正常、版式混乱,只因对方电脑没安装文档里的字体,难道要我去Fonts文件夹找字体给他,若是给上司看,一世文胆泡椒了。拆招! 1.按“F12”打开“另存为”对话框 工具→保存选项 2.“Word选项”对话框中单击“保存”,勾选“将字体嵌入文件”   群福利 群号码:615147109 1. Office安装程序及激活。 2. PPT模
PyQt:Python图形化界面编程 PyQt5中嵌入matplotlib
目录 前言: 1. 设计界面 2.引入matplotlib 3.完整代码 前言: 前面已经讲解过如何通过QT-desinger+PYUIC设计交互界面,已经能够设置界面以及添加交互事件了。 传送门:https://blog.csdn.net/weixin_41137248/article/details/88874420 但是在最近编程过程中又遇到了一个问题,我想要绘图...
将applet嵌入网页
请问如何将Applet嵌入Web网页rn我的Applet程序BuildBackground:rnimport javax.swing.JApplet;rnimport java.awt.Graphics;rnimport java.awt.Image;rnimport java.awt.MediaTracker;rnrnpublic class BuildBackground extends JAppletrnrn rn Image image;rn public void init()rn rn rn tryrn rn image=getImage(getCodeBase(),"image/mid_chart.jpg"); rn MediaTracker tracker =new MediaTracker(this);rn tracker.addImage(image,0);rn tracker.waitForAll(); // 确保图片已被加载rn rn catch(InterruptedException e)rn rn System.out.println("加载图片文件失败");rn rn rn rn rn public void paint(Graphics g)rn rn g.drawImage(image,0,0,600,600,this);rn rn rn rnrnsample.html代码:rnrnrnrnrn rnSorry, your browser doesn't support Java(tm).rnrnrnrn虚拟目录是d:/siternBuildBackground.class 字节码文件与htm文件放在同一目录下(既d:/site/BuildBackground.class,d:/site/sample.htm),并且 图片放在d:/site/image/mid_chart.jpg rnrn网页老是显示不出来,不知道,错误在那里,请大师解答,谢谢
将python嵌入php
最近要写一个定时发送信息的服务,用php写了一个,但是单线程发送太慢,所以想用python写一个定时发送然后嵌入到php中,有没有大神给个思路或者现成的demo!谢谢了,各位大神
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件