"Draw a graph in the programming language Julia" I succeeded in moving the sample for the time being, but the data created by my own program (in Julia language) I decided to find out how to draw a graph using.
This time, referring to "Practical technique of Julia language" learned from "Breast curved surface", "Breasts" in 3D space I made a sample to draw a "curved surface". As usual, the calculation result obtained by Julia is displayed as a graph in PyQtGraph. (Please create an environment and move it)
Note: For the environment construction, refer to "Drawing a graph in the programming language Julia".
↑ Drag with the mouse or press the cursor key to rotate the 3D graph. You can zoom in / out by turning the mouse wheel.
jl:Oppai.jl(C:\julia-0.2.1-win32\Save to bin)
# -*- coding: utf-8 -*- function bust(x,y) 1/8* (6*exp(-((2/3*abs(x) - 1)^2 + (2/3 *y)^2) - 1/3*(2/3*y + 1/2)^3)+ 2/3 *exp(-2.818^11*((abs(2/3*x) - 1)^2+ (2/3 *y)^2)^2) + 2/3*y - (2/3*x)^4) end nx = 100 ny = 51 x = linspace(-3, 3, nx) y = linspace(-3, 3, ny) z = zeros(Float64, length(y), length(x)) for iy = 1:length(y) for ix = 1:length(x) z[iy, ix] = bust(x[ix], y[iy]) end end using PyCall @pyimport Oppai Oppai.graph_run(x, y, z, 10)
python:Oppai.py(C:\julia-0.2.1-win32\Save to bin)
# -*- coding: utf-8 -*- from pyqtgraph.Qt import QtCore, QtGui import pyqtgraph.opengl as gl import pyqtgraph as pg import numpy as np def graph_run(plot_data_x, plot_data_y, plot_data_z, distance): app = QtGui.QApplication() w = gl.GLViewWidget() w.resize(600,400) w.opts['distance'] = distance w.show() w.setWindowTitle(u'Julia+PyQtGraph sample') x = plot_data_x y = plot_data_y for i in range(len(y)): yi = [y[i]]*len(x) z = plot_data_z[i,:] pts = np.vstack([x,yi,z]).transpose() plt = gl.GLLinePlotItem(pos=pts, color=pg.glColor((i,len(y)*1.3)), width=(i+1)/10., antialias=True) w.addItem(plt) app.exec_()